错误:安装脚本指定绝对路径:.gitignore

时间:2018-03-18 00:29:20

标签: python python-2.7 distutils setup.py

在Ubuntu 16.04.4上,我怀疑某些Python系统包的最新更新破坏了我的Python 2.7配置。无论我尝试使用基本sudo python setup.py install安装或重新安装的软件包,它都会因为gitignore而失败:

running install
running bdist_egg
running egg_info
[...]
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py

error: Error: setup script specifies an absolute path:

    /home/me/some_repo/.gitignore

setup() arguments must *always* be /-separated paths relative to the
setup.py directory, *never* absolute paths.

最近,我通过在安装/usr/local/lib/python2.7/dist-packages/some_package之前手动清理some_package目录找到了一个临时解决方法。然而,今晚我在另一个存储库上遇到了同样的问题,并且无论我清理什么,它都会失败。我还尝试清除所有已编译的文件夹.egg-info/ build/ dist/但没有成功。

注意:安装脚本实际上并未指定gitignore的绝对路径。失败回购的一个例子是https://github.com/philchristensen/python-artnet/blob/master/setup.py这个仓库有一个setuptools_git条目可能会导致线索,但是没有这个git入口点的其他软件包也因为gitignore而失败,而几个月前我从未遇到过这样的问题同样的回购。删除gitignore会导致设置失败,因为另一个非py本地文件。

有任何线索吗?

1 个答案:

答案 0 :(得分:1)

看起来我之前安装的其他软件包破坏了我的系统级Python。

以下是我修复软件包xyz的方法:

  • 浏览/usr/local/lib/python2.7/dist-packages以寻找" gitignore"
  • 的出现情况
  • 已删除所有匹配事件的文件夹(包括setuptools_git本身匹配" gitignore")
  • pip install setuptools_git
  • 在xyz包中,rm -rf dist/ build/ *.egg-info/
  • 重新安装xyz包,现在已成功安装
  • 使用虚拟环境作为课程