Pip 7.0.1没有安装包中的包含文件

时间:2015-10-01 22:53:04

标签: python pip virtualenv

我有一个python包作为.tar.gz。我一直在使用pip 6.1.1而没有错误。安装软件包pip install mypackage.tar.gz时,distutils会确保将软件包中的某些文件放入此/var/www/myfolder位置。

Pip 6.1.1和Pip 1.2.1正确地遵循这种行为,但是pip 7.0.1没有。 Pip 7.0.1不会移动" myfolder"中的文件。目录。

起初我虽然它是一个distutils问题,但是现在我意识到mypackage.tar.gz没有将文件移动到/var/www/myfolder位置的唯一情况是它是由pip withversion 7.0安装的。 1我总结了一个点子问题。

我还没有发现pip版本之间的更改文档中有任何重要意义,但我不确定我可能在寻找什么。

知道会发生什么事吗?

请注意,这不是权限问题,因为我使用sudo运行pip命令。

1 个答案:

答案 0 :(得分:1)

从版本7.0.0开始,pip从sdists构建轮子并安装这些轮子,而不是直接从sdists安装。在从wheel和sdist安装之间安装 data_files 的地方有一个已知的区别。引自Packaging and Distributing Projects

  

setuptools允许绝对的“data_files”路径,而pip将它们称为   绝对,从sdist安装时。安装时不是这样   来自车轮分布。车轮不支持绝对路径,并且   它们最终相对于“site-packages”进行安装。对于   讨论见wheel Issue #92

另见:

Wheel 问题92:bdist_wheel makes absolute data_files relative to site-packages
PyPI元数据格式问题13:Add a new subdirectory to allow wheels to bypass installation schemes
Python包装用户指南拉212:Fix section on data_files
介绍:IonelCristianMărieş - Less known packaging features and tricks