python - 使用 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...)
解决方案
其实我终于找到了答案。对于可能需要此信息的人,这是我所做的:
在requirements.txt
我已将行更改为:
pyqode.qt @ git+https://github.com/jojurgens/pyqode.qt.git#egg=pyqode.qt
仅此一项就解决了错误。
这也解决了我关于在不破坏 conda 环境的情况下“更新”conda 环境的其他(此处未描述)问题。所以现在我使用相同的安装命令更新环境(而不是更新命令,它不起作用)python -m pip install -e .
推荐阅读
- c++ - 在 C++ 中将成员函数参数初始化为数据成员
- html - 内部图像宽度和高度
- .net-core - 来自 URI 的 BlobItem
- github - 恢复存储库后,我的 Github 贡献消失了
- r - 如何根据R中的变量名提取子列表
- git - On GitHub Enterprise, how can I find out who pushed a branch?
- java - 何时使用私有接口方法而不是私有静态方法?
- java - 哪个类和 API 最适合 Android 开发中的后台活动?
- sql - 如何使用不总是存在的列执行带有 WHERE 的选择
- javascript - 在本地存储中创建日志存储时如何解决此状态错误?