我正在开发一个运行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路径的安装路径?
答案 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你可以掩盖系统级包并拥有最新版本在那里安装。