首页 > 解决方案 > 使用 setup.py 和 requirements.txt 用 github 版本覆盖包?

问题描述

我正在开发一个 github 项目,该项目最终将在 conda 和 PyPl 上发布。由于 PyPl(以及当前的开发需求),我需要使用以下命令进行安装:( python -m pip install -e .来自 github 克隆文件夹 - pip 21)

但是,我的项目依赖于分叉的 github 存储库。我遇到的问题是我找不到使用上面的命令从该 fork 安装软件包的方法,....但我必须这样做。我能找到的任何技巧要么一无所获,要么就是 repo 的 prod 版本。唯一有效的两件事是(1)手动或脚本启动 pip install [不能这样做,需要 setup.py 来安装东西](2)使用 conda [不能单独依赖 conda,我需要常规 pip 工作] .

你能帮我或指出我正确的方向吗?

requirements.txt在底部使用包含此行的 a:

...
-e git+https://github.com/jojurgens/pyqode.qt.git@master#egg=pyqode.qt

和一个setup.py包含这个

with open(here / "requirements.txt", encoding="utf-8") as f:
    requirements = f.read().splitlines()

setup(
    name="qiskit_metal",
    version="0.0.2",
    install_requires=requirements,
)

执行时我收到此错误:

...error in setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Parse error at "'-e git+h'": Expected W:(abcd...)

标签: pythongithubsetup.pyrequirements.txt

解决方案


其实我终于找到了答案。对于可能需要此信息的人,这是我所做的:

requirements.txt我已将行更改为:

pyqode.qt @ git+https://github.com/jojurgens/pyqode.qt.git#egg=pyqode.qt

仅此一项就解决了错误。

这也解决了我关于在不破坏 conda 环境的情况下“更新”conda 环境的其他(此处未描述)问题。所以现在我使用相同的安装命令更新环境(而不是更新命令,它不起作用)python -m pip install -e .


推荐阅读