繁体   English   中英

尽管已安装 Python 模块,但未检测到它们

[英]Python modules not being detected although they are installed

我有一个旧版本的 Python。 然后我卸载了旧版本,并安装了一个新版本 - 2.7.9。

我通过pyenv将 2.7.9 设置为我的全局版本,但我所有的模块都没有被检测到。 它们是在升级之前安装的。 现在我卸载了它们并重新安装但仍然无法正常工作......

~/Projects/development$ python
Python 2.7.9 (default, Mar  3 2016, 16:42:45) 
[GCC 4.6.3] on linux2
>>> from github import Github
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named github

他们已经在python升级后重新安装了! 尝试再次安装它们,会出现Requirement already meet错误。

~/Projects/development$ pip install PyGithub
Requirement already satisfied (use --upgrade to upgrade): PyGithub in /usr/local/lib/python2.7/dist-packages
Cleaning up...

我能做什么?

~/Projects/development$ pyenv versions
  system
* 2.7.9 (set by /home/user/.pyenv/version)

~/Projects/development$ python
    Python 2.7.9 (default, Mar  3 2016, 16:42:45) 
    [GCC 4.6.3] on linux2
>>> sys.executable
'/usr/local/bin/python'
>>> sys.exec_prefix
'/usr/local'
>>> print '\n'.join(sys.path)

/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

which pip给出/usr/bin/pip

我发现了问题。

dist-packages 与 site-packages。

使用以前的 Python 版本,并且在升级之后,我的包通过 pip 安装到/usr/local/lib/python2.7/dist-packages ,而我安装的新 Python 期望将包安装到/usr/local/lib/python2.7/site-packages (从源代码手动安装 Python 时,它使用 site-packages 目录。在此处查看更多信息)。 我可以临时复制模块,或者只是操作PYTHONPATH环境变量以指向 dist-packages,以便访问与新安装的 Python 版本一起打包的已安装包。

这里开始

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM