Python3找不到pip3安装的模块

标签 python macos python-3.x pip

我在使用 python3 时遇到问题。由于某些我无法弄清楚的原因,python3 中可用的模块与通过 pip3 安装的模块不同。

在终端中运行 pip3 list 返回:

DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
nltk (3.2.2)
numpy (1.12.0)
pandas (0.19.2)
pip (9.0.1)
python-dateutil (2.6.0)
pytz (2016.10)
setuptools (25.2.0)
six (1.10.0)
wheel (0.29.0)

正在运行 this script查看哪些模块 python3 有可用的返回:

 ['cycler==0.10.0', 'matplotlib==1.5.3', 'nltk==3.2.1', 'numpy==1.11.2', 'pip==9.0.1', 'pyparsing==2.1.10', 'python-dateutil==2.6.0', 'pytz==2016.7', 'setuptools==18.2', 'six==1.10.0']

这两个不一样,我不知道为什么。例如,nltk 有一个旧版本。 pandas 丢失。

我已经通过自制软件安装了 python,并且正在通过 Textmate2 运行脚本。但是,当我通过 python3 在终端中运行代码时,我遇到了同样的问题。 pip3和python3都安装在/usr/local/bin/:

$ which python3 pip3
/usr/local/bin/python3
/usr/local/bin/pip3

这也是 python3 使用的版本:

>>> import sys, os
>>> os.path.dirname(sys.executable)
'/usr/local/bin'

如果有人能帮我弄清楚为什么会这样,以及我该如何解决,我将不胜感激。

最佳答案

查看 pip3 脚本的第一行。

第一行(以 #! 开头应该指向与 python 3 的符号链接(symbolic link)相同的可执行文件:

> head -n 1 /usr/local/bin/pip
#!/usr/local/bin/python3.6

> ls -ld /usr/local/bin/python3
lrwxr-xr-x  1 root  wheel  9 Dec 25 22:37 /usr/local/bin/python3@ -> python3.6

如果不是这种情况,请卸载 pip 并使用正确的 Python 版本重新安装。

编辑:

如果您真的想确保您使用的是正确的 Python 和 pip,那么将它作为模块调用,如下所示:

python3.7 -m pip list

如果你得到错误No module named pip,那么pip没有安装这个版本的python。

关于Python3找不到pip3安装的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42304140/

相关文章:

python - Rabbitmq:channel.start_consuming()不会消耗

java - 无法设置 JAVA_HOME,因为找不到 Java JDK 1.7 的安装位置

mongodb - Pymongo 插入和查询引用

python - pandas 计算前 N 个数据帧行的 rolling_std

python - 替换为换行符 python

objective-c - 如何处理 NSTextField 子类的第一响应者状态?

python - 使用 python 3 在 docx 文件中插入注释

python - 如何在同一函数内使用从字符串创建的全局变量?

Python 关闭 Shell 且不弹出窗口

macos - 将.xip文件提取到特定文件夹中