4

我对在 python 中安装模块有点恼火,并且遇到了很多麻烦,所以找到一个好的解决方案真是太棒了。这是我的问题:

  1. PYTHONPATH:我如何告诉 easy_install/Python 在哪里安装我的包?

即使我把:/Library/Python/2.6/site-packages在我的.bash_profile

和:

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它安装它,猜猜,就在:

/Library/Python/2.6/site-packages

现在复制安装在那里的“南”(它在一个名为:的文件夹中South-0.7.2-py2.6.egg,我刚刚复制了南)并将其粘贴到

/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages

现在我可以在进入我的 django 项目目录时导入它(其中 settings.py-Installed Apps 我有“南”)和

python manage.py shell

根据南方的说法,这是一个很好的指标,表明它有效。

  1. 可以/我必须为每个模块都这样做吗?有没有更好的优雅方法来解决这个问题。请说有。

谢谢

4

3 回答 3

8

根据/Library/Frameworks/Python.framework/Versions/2.6您问题中的路径 ( ),除了 Apple 提供的 Python 之外,您似乎还安装了一个额外的 Python。这是 python.org OS X 安装程序的标准安装路径。

easy_install安装到正确的 Python 站点包位置的技巧是了解您拥有的每个Python 实例都需要拥有自己的副本,easy_install并且您需要确保在安装包时使用正确的实例。对于 OS X 10.5 和 10.6,Apple为其提供的 Python提供easy_install命令。/usr/bin例如,在 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/Apple 提供的 Python 默认查找站点包的适当位置。

对于 python.org Python,默认的站点包位置在/Library/Frameworks/Python.framework/Versions/x.y. 在适当的目录下,有一个lib/pythonx.y/site-packages您找到的目录,还有一个bin目录。要将那里的 Python 设为默认目录,请确保该bin目录位于您的 shell PATH 上并且位于 PATH 之前/usr/bin/,例如:

export PATH="/Library/Frameworks/Python.framework/Versions/2.6/bin:${PATH}"

默认情况下,python.org 安装程序会尝试修改您的 shell 配置文件,例如.bash_profile,以执行此操作。然后按照说明安装提供传统版本的setuptoolseasy_install或更先进easy_install. easy_install然后,您应该在框架bin目录中看到一个命令:

$ 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*

而且,如果您使用它来安装软件包,它们最终会出现在正确的位置,并且一切都会很愉快。

于 2010-08-25T14:34:24.687 回答
0

-d参数告诉它在easy_install哪里安装模块。

于 2010-08-25T13:57:04.527 回答
-1

sudo env ARCHFLAGS="-arch x86_64" easy_install-2.7 lxml在 Mac OS 10.9 上工作。确保限定您在easy_install命令中使用的 python 版本。

于 2014-07-01T19:03:57.387 回答