Error: setup script specifies an absolute path: .gitignore
Error: setup script specifies an absolute path: .gitignore
在 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.
最近我找到了一个临时解决方法,即在安装 some_package
之前手动清理 /usr/local/lib/python2.7/dist-packages/some_package
目录。但是今晚我在另一个存储库上遇到了同样的问题,无论我清理什么,它都会失败。我还尝试清理所有已编译的文件夹 .egg-info/ build/ dist/
但没有成功。
注意:安装脚本实际上并未指定 git忽略的绝对路径。一个失败的 repo 的例子是 https://github.com/philchristensen/python-artnet/blob/master/setup.py 这个 repo 有一个 setuptools_git 条目可能会导致线索,但是没有这个 git 入口点的其他包也会因为 git 而失败忽略几个月前我从未遇到过相同回购协议的此类问题。删除 gitignore 会导致安装失败,因为另一个非 py 本地文件。
有线索吗?
看来我之前安装的其他一些软件包损坏了我的 system-wide Python。
以下是我为安装软件包 xyz 所做的修复:
- 浏览
/usr/local/lib/python2.7/dist-packages
以搜索 "gitignore"
- 已删除所有匹配事件的文件夹(包括匹配 "gitignore" 的
setuptools_git
本身)
pip install setuptools_git
- 在包 xyz 中,
rm -rf dist/ build/ *.egg-info/
- 重新安装软件包 xyz,现在安装成功
- 使用虚拟环境作为一课
在 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.
最近我找到了一个临时解决方法,即在安装 some_package
之前手动清理 /usr/local/lib/python2.7/dist-packages/some_package
目录。但是今晚我在另一个存储库上遇到了同样的问题,无论我清理什么,它都会失败。我还尝试清理所有已编译的文件夹 .egg-info/ build/ dist/
但没有成功。
注意:安装脚本实际上并未指定 git忽略的绝对路径。一个失败的 repo 的例子是 https://github.com/philchristensen/python-artnet/blob/master/setup.py 这个 repo 有一个 setuptools_git 条目可能会导致线索,但是没有这个 git 入口点的其他包也会因为 git 而失败忽略几个月前我从未遇到过相同回购协议的此类问题。删除 gitignore 会导致安装失败,因为另一个非 py 本地文件。
有线索吗?
看来我之前安装的其他一些软件包损坏了我的 system-wide Python。
以下是我为安装软件包 xyz 所做的修复:
- 浏览
/usr/local/lib/python2.7/dist-packages
以搜索 "gitignore" - 已删除所有匹配事件的文件夹(包括匹配 "gitignore" 的
setuptools_git
本身) pip install setuptools_git
- 在包 xyz 中,
rm -rf dist/ build/ *.egg-info/
- 重新安装软件包 xyz,现在安装成功
- 使用虚拟环境作为一课