我试图在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安装目录中一样?
谢谢, 卡莱布
答案 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()