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

安装后,我想建立软链接到一些由安装创建的配置和数据文件。

如何从软件包的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()

追溯(最近一次通话):

文件“”,第1行,在

AttributeError:“模块”对象没有属性“ getsitepackages”

我在Ubuntu上运行“ Python 2.7.3(默认值,2012年8月1日,05:14:39)”和“ [linux2上的GCC 4.6.3]”。我可能可以将一些东西与try-except块拼凑在一起,但似乎应该由distutils / setuptools返回/设置一些变量。(我不知道要使用哪个分支,只要它起作用即可。)


斯蒂芬大帝
浏览 299回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python