Python3找不到pip3安装的模块

时间:2017-02-17 17:35:12

标签: 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'

如果有人能帮助我弄清楚为什么会这样,以及我如何解决它,我将非常感谢帮助。

2 个答案:

答案 0 :(得分:4)

查看pip3脚本的第一行。

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

> 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版本重新安装。

答案 1 :(得分:0)

我在 Windows 中遇到了这个问题。首先,我使用 cmd 命令 pip3 uninstall moduleName 卸载软件包。 然后根据 python 文档,我运行命令 python -m pip install moduleName 并解决了我的问题!

这里是文档:Installing Python Modules