从setup.py中检测python包安装路径

Sar*_*ser 10 python installation path setup.py

安装后,我想对安装创建的一些配置和数据文件进行软链接.

如何从软件包的setup.py中确定安装的新软件包的位置?

我最初硬编码路径"/usr/local/lib/python2.7/dist-packages",但是当我尝试使用虚拟环境时,这种情况就破裂了.(由virtualenv创建.)

我尝试了distutils.sysconfig.get_python_lib(),这在virtualenv中有效.但是,当安装在真实系统上时,它会返回"/usr/lib/python2.7/dist-packages"(注意"本地"目录不存在.)

我也尝试过site.getsitepackages():

从基础环境运行Python shell:

进口网站

site.getusersitepackages()

'/home/sarah/.local/lib/python2.7/site-packages'

site.getsitepackages()

['/usr/local/lib/python2.7/dist-packages','/usr/lib/python2.7/dist-packages']

从虚拟环境"testenv"运行Python shell:

进口网站

site.getsitepackages()

Traceback(最近一次调用最后一次):

文件"",第1行,in

AttributeError:'module'对象没有属性'getsitepackages'

我正在运行"Python 2.7.3(默认,2012年8月1日,05:14:39)"和Ubuntu上的"Linux2上的[GCC 4.6.3]".我可以用try-except块来拼凑一些东西,但似乎应该有一些由distutils/setuptools设置/返回的变量.(我不知道要使用哪个分支,只要它有效.)

谢谢.

rpa*_*ent 0

这可能不会回答您的问题,但如果您需要访问已安装的软件包的源代码或此软件包中的任何其他文件,最好的方法是以开发模式安装此软件包(通过下载源,将其放在您想要的任何位置,然后在包源的基目录中运行 python setup.pydevelopment)。这样您就知道在哪里找到该包。