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

时间:2016-03-31 14:54:28

标签: python python-2.7 module pyenv

我有一个旧的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升级后重新安装了!尝试再次安装它们,需求已满足错误。

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

~/Projects/development$ $PYTHONPATH
~/Projects/development$ $PATH
  -bash: /home/user/.pyenv/bin:/home/user/.rvm/gems/ruby-1.9.3-p448/bin:/home/user/.rvm/gems/ruby-1.9.3-p448@global/bin:/home/user/.rvm/rubies/ruby-1.9.3-p448/bin:/home/user/.rvm/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games: No such file or directory

`which pip` gives `/usr/bin/pip`.

1 个答案:

答案 0 :(得分:2)

我发现了问题。

dist-packages vs. site-packages。

使用prev Python版本,升级后,我的包通过pip安装到/usr/local/lib/python2.7/dist-packages,而我安装的新Python期望将软件包安装到/usr/local/lib/python2.7/site-packages(从源代码手动安装Python时) ,它使用site-packages目录。查看更多here)。我可以临时复制模块,或者只是操纵PYTHONPATH环境变量指向dist-packages,以便获得对新安装的Python版本打包的安装的访问。

来自here

相关问题