在私有版本的python中安装setuptools

tim*_*one 7 python

一个新手问题,但.....

我已经在系统版本为2.3的主机上安装了python2.7(2.7 at~/python2.7/bin/python).我想添加一些包如MySQLdb但需要setuptools.

方向说你可以使用--prefix作为参数.但是,如果我执行以下操作:sh setuptools-0.6c11-py2.7.egg --prefix =〜/ python2.7/bin/python

我得到错误消息:-bash-3.00 $ sh setuptools-0.6c11-py2.7.egg --prefix =〜/ python2.7/bin/python setuptools-0.6c11-py2.7.egg:line 3:exec :python2.7:找不到

我没有正确使用--prefix命令吗?当然,输入sh setuptools-0.6c11-py2.7.egg --help也找不到python.

如何告诉setuptools显式找到python的位置?我需要注意的任何其他问题?

jed*_*der 5

我是一个老式的家伙,我避免使用鸡蛋,我通常下载源代码tarball,提取它并使用setup.py

在处理多个python版本时,我通常会显式调用所需的版本,如下所示:

$ /usr/bin/python2.6 setup.py build
$ sudo /usr/bin/python2.6 setup.py install
Run Code Online (Sandbox Code Playgroud)

安装时还有一种方法可以做一个初步的"chroot":

$ python setup.py install --root /tmp
Run Code Online (Sandbox Code Playgroud)

当您想要临时安装到某个目录时,这很有用,后者将用于构建特定于发行版的程序包.

这个工作流程总是很好.


PJ *_*Eby 3

将 ~/python2.7/bin 添加到您的路径中,例如:

$ export PATH=$PATH:~/python2.7/bin
$ sh setuptools-0.6.c11-py2.7.egg
Run Code Online (Sandbox Code Playgroud)

然后,这应该不需要前缀就可以工作,因为 python 本身会告诉 setuptools 它的默认 --prefix 是什么。