如何安装一个带有pip和setup.py的GitHub压缩文件?

更新时间:2023-04-02 12:36:10

问题阐述

我正在使用一个名为lief的库,由于它缺乏来自pip的完全的python3.7支持,我需要从以下链接https://github.com/lief-project/packages/raw/lief-master-latest/pylief-0.9.0.dev.zip安装它。

我遇到的问题是,当我pip install https://github.com/lief-project/packages/raw/lief-master-latest/pylief-0.9.0.dev.zip安装时,它工作得很好,但如果我将该链接放在我的要求.txt文件中,它无法在Travis中安装,并出现错误

error in rapido setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Invalid requirement, parse error at "'://githu'"

我见过的有关Requirements s.txt和GitHub链接的大多数示例都指向提交散列。如何才能安装Requirements s.txt中的GitHub压缩文件,以便在运行pip install .时不会出现上述错误?

我要补充的是,如果我使用pip install -r requirements.txt,它工作得很好,但如果我使用setup.pypip install -e .,它将失败

精准答案

作为权宜之计,我在setup.py中为遇到类似问题的任何人执行以下操作。这适用于pip install .

from pip._internal import main as pipmain
pipmain(['install', 'https://github.com/lief-project/packages/raw/lief-master-latest/pylief-0.9.0.dev.zip'])

,但我真的想知道是否有更好的方法来使用pip install .中的链接来实现这一点。