修改PYTHONPATH以将软件包安装到新的“site-packages”路径中

时间:2015-03-11 03:40:48

标签: python bash python-2.7

我正在开发一个运行Linux的EC2 VM(我对Linux和Bash很新),它安装了Python 2.6。我升级到Python 2.7。当我尝试安装新模块时,它们会安装在/usr/lib/python2.6/site-packages中,但我需要将其更改为安装在/usr/lib/python2.7/site-packages中。我已经尝试了一些不同的方法来更新我在Stackoverflow和其他网站上的其他帖子中发现的PYTHONPATH,但无济于事。我尝试的有些是:

PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/site-packages export PYTHONPATH

PYTHONPATH="/usr/lib/python2.7/site-packages:$PYTHONPATH"

如何更新新2.7路径的安装路径?

1 个答案:

答案 0 :(得分:1)

您介绍了如何安装Python 2.7(这是一个手动安装),您如何安装模块?

如果您sudo yum install <python-package>,您将使用系统级别(特定于分发)的方式来安装包,这意味着它只会将包放在系统python位置,在您的情况下是在site-package中python2.6中的目录。

如果您使用过sudo pip install <python-package>,它应该可以正常工作,因为您完全销毁了yum可能需要的默认python安装(请参阅Upgrade python without breaking yum)。

使用virtualenv,您可以指定可以安装python包的隔离的本地位置,将它们与系统级别隔离,并且可以将virtualenv修复为系统上任何可用的python版本,保证正确具有正确的软件包集合的库集合,具有特定于特定应用程序需求的所有正确版本(对于python和软件包),这意味着您不必处理系统/分布级别的python路径问题可能是头痛的巨大根源。例如,在系统级别,你的发行版有一个包依赖于sqlalchemy的一些旧版本,但在你的实际应用程序中你需要最新的版本,使用virtualenv你可以掩盖系统级包并拥有最新版本在那里安装。