使用pip安装的模块未找到。

14
我正在尝试通过pip安装一个名为"simpleguitk"的软件包。(在Python 3.5上的Ubuntu 16.04上)
运行后:
sudo -H pip3 install simpleguitk

它说安装已成功完成。(除了Pygame依赖项,实际上这是可选的)

Collecting simpleguitk
Using cached SimpleGUITk-1.1.3.tar.gz
Collecting Pillow>=2.0.0 (from simpleguitk)
Using cached Pillow-3.4.2-cp35-cp35m-manylinux1_x86_64.whl
Collecting pygame>=1.9.0 (from simpleguitk)
Could not find a version that satisfies the requirement pygame>=1.9.0 (from simpleguitk) (from versions: 1.9.2.dev1, 1.9.2b7, 1.9.2b8)
No matching distribution found for pygame>=1.9.0 (from simpleguitk)
我找不到位于 /usr/local/lib/python3.5/dist-packages 或 /usr/lib/python3.5 或 /usr/lib/python3 的包。
当我试图导入该模块时,它会报错:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'simpleguitk'

我尝试重新安装它,但运行:

sudo -H pip3 uninstall simpleguitk

返回结果: "无法卸载要求simpleguitk,因为未安装"

我已经尝试了pip 8.1.2和pip 9.0.1,但结果相同。 我甚至重新安装了Ubuntu,但仍然是一样的。

我认为Python路径不正确,因为它没有python 3.5,但我不知道如何修复它。

['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/gtk-2.0']

~/.pip.log 说了什么? - Flint
5个回答

17

确保您正在安装适用于您正在使用的 Python 版本的软件,并使用

/path/to/your/python -m pip install <package>

1
/usr/local/bin/python3 -m pip install cassandra-driver 对我有效,但 pip3 install cassandra-driver 不行。这两个语句有什么区别? - starscream_disco_party

9

pip需要python支持,在有些情况下,你执行的*.py文件所使用的python版本可能与pip所使用的python版本不同。

请按照以下步骤尝试重新安装:

which python

假设它打印出:

/usr/bin/python

这意味着您可以使用:

/usr/bin/python -m pip install <package>

你可以尝试从你拥有的不同版本的Python中选择。

现在尝试使用以下命令执行你的*.py文件:

/usr/bin/python *.py


2
你是不是想说“哪个Python”? - RickSanchez725
我是指“哪个Python”,而不是“哪个二进制文件”。 - user977476
你需要使用 python -m pip - Arne Babenhauserheide
pip是Python的一个模块,这就是为什么你需要使用“-m”来运行该模块。如果只运行python pip,你的解释器会认为“pip”是需要运行的脚本路径,因此会出现错误。 - Reda Drissi

1
该模块可能已安装,但程序无法运行。这是因为两个不同版本的Python共存。因此,请使用您已安装该模块的Python版本的位置运行Py脚本,例如usr/bin/python python.py/usr/bin/python3 python.py
希望这对您有所帮助!

0

问题可能是您用于安装模块的Python版本与您尝试从中导入的Python版本不匹配。

  1. 找出您想要的Python版本中是否存在该模块,您可以尝试使用命令:pip3 freeze获取已安装的软件包列表(在您的情况下,它是python3.5)。

  2. 在此之前,请检查计算机上安装的不同Python版本。您可以使用命令locate /python | grep /bin。如果您有python2.7和python3.5,则应使用相应的pip/pip3来安装模块。

  3. 打开相应的Python shell(python3)并尝试重新导入。


0
我在PyCharm中遇到了类似的问题。使用pip安装的依赖项可以在编辑器窗口中正常工作(即,没有导入错误报告),但是当我尝试运行项目时,项目会抱怨缺少依赖项。后来发现,我是在创建运行项目和测试的任务之后为该项目设置了虚拟环境。我必须进入设置任务的窗口,确保它们都使用正确的虚拟环境。 希望这对你有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接