easy_install的的--prefix选项不会更改它试图安装我的包(Easy_install&

2019-09-16 08:15发布

我想安装狮身人面像1.1.3蟒蛇2.6。 不过,我没有sudo的权利。 因此,而不是在默认位置安装它,我想设置一个不同的位置,用--prefix。 执行以下操作:

-bash-3.2$ easy_install Sphinx-1.1.3-py2.6.egg --prefix=/homes/ndeklein/python2.6/site-packages/

给我:

error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

[Errno 13] Permission denied: '/usr/lib/python2.4/site-packages/test-easy-install-18534.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

/usr/lib/python2.4/site-packages/

难道我打字有点毛病前缀? 此外,有什么我可以代替使用(我已经与其他封装中使用):

python setup.py install --home=/homes/ndeklein/python2.6/site-packages/

但我不能找到setup.py脚本。 我猜,鸡蛋没有一个setup.py脚本,是真的吗?

Answer 1:

本网站讨论非根蟒蛇安装。 这可能是对你有用...

http://www.astropython.org/tutorials/user-rootsudo-free-installation-of-python-modules7/

引用的一点点:

用户配置文件,〜/ .pydistutils.cfg,将覆盖Python包安装的内部系统路径,重定向内置库(LIB),脚本(BIN)和数据(股)到用户所拥有和指定的目录。 你必须直接告诉Python安装程序,其中论文目录所在。

用户文件〜/ .pydistutils.cfg,有以下线,采用了非常明显的语法:

[install]
install_scripts = ~/usr/bin
install_data = ~/usr/share
install_lib = ~/usr/lib/python2.4/site-packages

当然,无论你的目录指定有可能应该存在,你应该把它们放在你的PYTHONPATH的面前:

export PYTHONPATH=~/usr/lib/python2.4/site-packages:${PYTHONPATH}

它也像更现代的Python安装(相比于该链接的东西)应该能够使用~/.local目录:

easy_install --prefix=~/.local ...

此外还有:

easy_install --user ...

这将安装到用户指定的站点目录。



Answer 2:

您需要指定包之前的选择,所以命令应该是:

easy_install --prefix=/homes/ndeklein/python2.6/site-packages/ Sphinx-1.1.3-py2.6.egg 


Answer 3:

你可以尝试使用PIP安装的easy_install的(建议在easy_install的这些天PIP)

然后,你可以只使用

pip install --user Sphinx

看到http://www.pip-installer.org/en/latest/installing.html如何,如果需要安装PIP

您可能还需要安装点子和的virtualenv里面的virtualenv工作(其中PIP将在本地站点包文件夹中安装的所有包)。 看到http://pypi.python.org/pypi/virtualenv获取更多信息。



文章来源: Easy_install's --prefix option doesn't change where it tries to install my package