Python Pythonpath 模块安装

4 投票
3 回答
5801 浏览
提问于 2025-04-16 03:16

我对在Python中安装模块这件事有点烦,遇到了很多麻烦,所以我希望能找到一个好的解决办法。以下是我的问题:

  1. 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

里的东西都能正常工作。我不知道为什么,想知道个究竟。

  1. 我刚用命令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的说法,这说明它工作正常。

  1. 我需要为每个模块都这样做吗?有没有更优雅的解决办法?请告诉我有。

谢谢

3 个回答

-1

在Mac OS 10.9上,使用 sudo env ARCHFLAGS="-arch x86_64" easy_install-2.7 lxml 这个命令可以成功安装lxml库。记得在 easy_install 命令中指定你正在使用的Python版本哦。

0

easy_install-d 参数是用来指定要把模块安装到哪个地方的。

8

根据你提到的路径(/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*

如果你用这个命令来安装软件包,它们就会安装到正确的位置,一切都会顺利进行。

撰写回答