如何为本地Python 2.7安装设置site-packages目录

时间:2015-07-22 16:59:17

标签: python python-2.7

我试图在Python中运行某个脚本,但它需要一些其他模块(setuptools) - 我没有写入/ usr /目录的写入权限来安装它们,所以我&#39 ;我试图安装本地版本的Python 2.7来运行它(不在/ usr /).

当我尝试运行setuptools的ez_setup脚本时,它会尝试访问:

  

/usr/local/lib/python2.7/site-packages /

但那不是我想要的安装(我得到写入权限错误)。我可以将ez_setup脚本指向任何地方,但我不确定如何让Python使用它。在我的2.7安装中,我跑了:

site.getsitepackages()
['/usr/local/lib/python2.7/site-packages', '/usr/local/lib/site-python'].

有没有办法更改默认的site-packages目录,以便我可以进行本地安装?就像在Python安装目录中一样?

谢谢, 卡莱布

1 个答案:

答案 0 :(得分:1)

您真的想要阅读Python virtual environments,它允许您创建一个“本地”Python树,您可以在其中安装自己的包,而无需root权限。

例如,假设您有virtualenv命令可用(您可能需要先安装它;它可作为大多数主要发行版的软件包提供),您可以创建一个新的虚拟环境:

virtualenv --system-site-packages myenv

--system-site-packages选项将使您的系统site-packages目录中的任何包对此环境可见,以及您在本地安装的任何包。然后激活环境:

. myenv/bin/activate

安装东西:

pip install apackage

NB 没有充分理由,pydoc将在此配置中停止为您工作。您只需将新的pydoc脚本放入myenv/bin/pydoc,如下所示:

#!/usr/bin/env python

import pydoc
if __name__ == '__main__':
    pydoc.cli()