5

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

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

~/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 已经满足的错误。

~/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.

4

1 回答 1

3

我发现了问题。

dist 包与站点包。

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

这里

于 2016-04-03T13:59:33.957 回答