我对新的 python 2.7.10 完全感到困惑。
我已经从官方网站下载的 tar.xz 安装了 python 2.7.10。然后我将/usr/local/bin/python2.7 与/usr/bin/python2.7 和/usr/bin/python 链接起来,但是当我尝试导入模块时,我得到 ImportError: No module named “模块名称”。例如:
python -c "import gtk"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named gtk
但是如果:
cd /usr/lib/python2.7/dist-packages/gtk-2.0/
python -c "import gtk"
我们得到:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "gtk/__init__.py", line 30, in <module>
import gobject as _gobject
ImportError: No module named gobject
至此,gtk模块已成功导入。
让我们“cd ~”看看 sys.path:
python -c "import sys, pprint; pprint.pprint(sys.path)"
['',
'/usr/local/lib/python2.7/site-packages/setuptools-17.1.1-py2.7.egg',
'/usr/local/lib/python2.7/site-packages/pip-7.1.0.dev0-py2.7.egg',
'/usr/local/lib/python27.zip',
'/usr/local/lib/python2.7',
'/usr/local/lib/python2.7/plat-linux2',
'/usr/local/lib/python2.7/lib-tk',
'/usr/local/lib/python2.7/lib-old',
'/usr/local/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']
好吧,没有/usr/lib/python2.7/dist-packages,我们来添加一下:
导出PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages:/usr/lib/python2.7
现在:
python -c "import sys, pprint; pprint.pprint(sys.path)"
['',
'/usr/local/lib/python2.7/site-packages/setuptools-17.1.1-py2.7.egg',
'/usr/local/lib/python2.7/site-packages/pip-7.1.0.dev0-py2.7.egg',
'/home/s-quark',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7',
'/usr/local/lib/python27.zip',
'/usr/local/lib/python2.7',
'/usr/local/lib/python2.7/plat-linux2',
'/usr/local/lib/python2.7/lib-tk',
'/usr/local/lib/python2.7/lib-old',
'/usr/local/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']
但仍然找不到模块:
python -c "import gtk"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named gtk
我必须做什么?
最佳答案
看来你有两个Python版本。
默认版本通常链接到:
/usr/bin/python
正如您从 which -a python
中看到的,您的本地版本位于其中:
/usr/local/bin/python
这与您的本地二进制文件链接
/usr/bin/python
pip install
使用默认的 python 安装软件包。这就是您无法从本地安装导入软件包的原因,即使该软件包在您的 $PYTHONPATH
中可见。
如果 python -m pip install
未在本地版本上安装所需的软件包,请尝试创建虚拟环境(不要使用 sudo
)
万一一切都失败或者你绝望了,安装一个干净的 Anaconda 并远离麻烦。
我希望这能起作用
关于Python 找不到设置了 PYTHONPATH 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30963386/