如何安装setuptools?
我正在尝试安装setuptools。当我运行“sh setuptools-0.6c9-py2.4.egg”时,出现了以下信息:
权限被拒绝: '/usr/lib/python2.4/site-packages/test-easy-install-26338.write-test'
这很正常,因为我在系统上没有管理员权限。于是我想到了创建一个“虚拟”的Python环境。
我下载了“virtual-python.py”,并用系统自带的Python运行它。它在我的主目录下创建了“lib”、“bin”和“include”这几个子目录。在“virtual-python.py”的输出最后,我看到以下信息:
你现在可以下载 ez_setup.py,并运行 /home/myname/bin/python ez_setup.py
我下载了这个文件并运行它。但我又收到了同样的错误信息:
权限被拒绝: '/usr/lib/python2.4/site-packages/test-easy-install-925.write-test'
好的。我使用“prefix”来强制ez_setup.py写入本地目录:
/home/myname/bin/python ez_setup.py --prefix=~
然后我得到了:
- 你可以通过以下描述的方法设置安装目录以支持“.pth”文件:
http://peak.telecommunity.com/EasyInstall.html#custom-installation-locations
所以,我被引导回到了之前看过的页面。我现在不知道该怎么办。
我还有另一个提示:
- 你可以将安装目录添加到PYTHONPATH环境变量中。(每次运行Python并想使用你正在安装的包时,它也必须在PYTHONPATH中。)
但是如果我输入:
PYTHONPATH=/home/myname/lib/python2.4/site-packages
我仍然得到和之前一样的结果,就好像Python看不到我的环境变量一样。
有没有人能帮我解决这个问题呢?
4 个回答
你首先得激活你的虚拟环境,不然你只会看到一堆文件夹。你可以使用虚拟环境中bin
文件夹里的脚本的完整路径,或者直接输入source bin/activate
来激活它。
虚拟环境(Virtualenv)里应该已经预装了setuptools,我想是这样的。我知道它至少会带有easy_install
这个工具。你可以运行以下命令:
/home/myname/bin/easy_install setuptools
这条命令应该会在你的虚拟环境中安装最新版本的setuptools。
我只是想补充一些已经说过的细节。
- 首先,下载最新版本的
tar.gz
文件,来自 virtualenv。 - 解压这个文件。
- 你甚至不需要安装它,只需运行
virtualenv.py
,比如说:
virtualenv-1.3.3/virtualenv.py mypyenv
这样会在你当前的目录下创建一个名为mypyenv
的虚拟Python环境,并且里面会有可以直接使用的easy_install
。 - 激活这个环境:
source mypyenv/bin/activate
或者在Windows上可以这样做:
mypyenv\Scripts\activate.bat
现在,你的路径已经设置为指向mypyenv
下的Python可执行文件。在这个命令行会话中,你可以使用easy_install
安装你想要的任何东西,安装的内容会放在mypyenv
的内部,而不是你默认的Python位置,这样就不需要管理员权限了。
OS X Snow Leopard 的注意事项:
出于某种原因,virtualenv-1.3.3
和系统自带的Python(位于 /System/Frameworks
)不太兼容。我不得不从源代码构建一个单独的Python版本,并将其安装在 /usr/local/python_2_6_2
下。
完成后,我在使用virtualenv时加上了 --python /usr/local/python_2_6_2/bin/python
这个选项。