Python Pythonpath 模块安装
我对在Python中安装模块这件事有点烦,遇到了很多麻烦,所以我希望能找到一个好的解决办法。以下是我的问题:
- PYTHONPATH:我怎么告诉easy_install/Python该把我的包安装到哪里呢?
虽然我在我的.bash_profile
里加了:/Library/Python/2.6/site-packages
但是:
PYTHONPATH="/Library/Python/2.6/site-packages"
export PYTHONPATH
我在那里的包却无法导入。
另一方面,我放在:
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
里的东西都能正常工作。我不知道为什么,想知道个究竟。
- 我刚用命令
easy_install south
安装了“south”,结果它安装到了:
/Library/Python/2.6/site-packages
现在我把“south”复制过来(它在一个叫South-0.7.2-py2.6.egg
的文件夹里,我只是复制了south),然后粘贴到:
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
现在我在我的django项目目录下(在settings.py的Installed Apps里有'south')可以导入它了,
然后运行python manage.py shell
根据south的说法,这说明它工作正常。
- 我需要为每个模块都这样做吗?有没有更优雅的解决办法?请告诉我有。
谢谢
3 个回答
在Mac OS 10.9上,使用 sudo env ARCHFLAGS="-arch x86_64" easy_install-2.7 lxml
这个命令可以成功安装lxml库。记得在 easy_install
命令中指定你正在使用的Python版本哦。
easy_install
的 -d
参数是用来指定要把模块安装到哪个地方的。
根据你提到的路径(/Library/Frameworks/Python.framework/Versions/2.6
),看起来你安装了一个额外的Python版本,这个版本不是苹果自带的。这个路径是从python.org下载的OS X安装包的标准安装路径。
要让easy_install
正确安装到合适的Python库位置,你需要明白,每一个Python版本都需要有自己独立的easy_install
,而且在安装软件包时,你得确保使用的是正确的那个版本。对于OS X 10.5和10.6,苹果在/usr/bin
目录下提供了easy_install
命令,供它自带的Python使用。例如,在10.6中:
$ ls -l /usr/bin/easy_install*
-rwxr-xr-x 2 root wheel 925 Jun 30 2009 /usr/bin/easy_install*
-rwxr-xr-x 1 root wheel 421 Jun 30 2009 /usr/bin/easy_install-2.5*
-rwxr-xr-x 1 root wheel 421 Jun 30 2009 /usr/bin/easy_install-2.6*
这些命令会安装到/Library/Python/2.x/
目录下,这里是苹果自带的Python默认查找库的地方。
对于从python.org下载的Python,默认的库位置在/Library/Frameworks/Python.framework/Versions/x.y
。在这个目录下,你会找到lib/pythonx.y/site-packages
,还有一个bin
目录。要把这个Python设置为默认版本,确保这个bin
目录在你的shell路径中,并且排在/usr/bin/
之前,像这样:
export PATH="/Library/Frameworks/Python.framework/Versions/2.6/bin:${PATH}"
python.org的安装程序默认会尝试修改你的shell配置文件,比如.bash_profile
,来实现这个设置。然后按照说明安装setuptools
,这是传统版本的easy_install
,或者安装Distribute
,这是更先进的easy_install
版本。这样你就能在框架的bin
目录中看到easy_install
命令:
$ cd /Library/Frameworks/Python.framework/Versions/2.6
$ ls -l bin/easy_install*
-rwxr-xr-x 1 nad admin 360 Aug 25 07:30 bin/easy_install*
-rwxr-xr-x 1 nad admin 368 Aug 25 07:30 bin/easy_install-2.6*
如果你用这个命令来安装软件包,它们就会安装到正确的位置,一切都会顺利进行。