Python setuptools可以在dist包之外安装文件吗?

Python setuptools可以在dist包之外安装文件吗?,python,python-3.x,setuptools,Python,Python 3.x,Setuptools,是否可以使用setuptools将数据文件从sdist安装到sys.prefix目录之外的任意位置 这意味着可以使用data\u文件目录部分中的绝对路径来执行此操作,但实际上,前导斜杠似乎被忽略 例如,对于data_files=[('/opt/foo/bar',[…])],文件应安装到/opt/foo/bar目录中。但它们最终都出现在/usr/local/lib/python3.4/dist-packages/opt/foo/bar中,这对人类和野兽都没有用 我怀疑它曾经工作过-最近有没有更换/

是否可以使用setuptools将数据文件从sdist安装到
sys.prefix
目录之外的任意位置

这意味着可以使用
data\u文件
目录部分中的绝对路径来执行此操作,但实际上,前导斜杠似乎被忽略

例如,对于
data_files=[('/opt/foo/bar',[…])]
,文件应安装到/opt/foo/bar目录中。但它们最终都出现在/usr/local/lib/python3.4/dist-packages/opt/foo/bar中,这对人类和野兽都没有用

我怀疑它曾经工作过-最近有没有更换/损坏过


(使用pip 8.1.1、Python3.4、setuptools 20.9.0)

最好的办法是用你自己的来覆盖
安装
,然后自己移动文件。

啊,这都是pip的错。给定一个sdist,pip会在安装之前创建一个轮子。但是车轮

幸运的是,通过抛出一个错误,您可以使pip有一些意义,从而使它退回到安装您首先想要的sdist

# in setup.py
if 'bdist_wheel' in sys.argv:
    raise RuntimeError("This setup.py does not support wheels") 
(感谢本杰明·巴赫)