gpt4 book ai didi

python - 我如何使用 git repos 作为我的 PyPi 包的依赖项?

转载 作者:太空狗 更新时间:2023-10-29 13:42:13 25 4
gpt4 key购买 nike

我有一个要推送到 PyPi 的包,其中一些依赖项不是包,而是可安装的 git 存储库。我的requirements.txt看起来像这样

sphinx_bootstrap_theme>=0.6.5
matplotlib>=2.2.0
numpy>=1.15.0
sphinx>=1.7.5
sphinx-argparse>=0.2.2
tensorboardX
tqdm>=4.24.0
Cython>=0.28.5

# git repos
git+git://github.com/themightyoarfish/svcca-gpu.git

因此,我的 setup.py有这个内容:

#!/usr/bin/env python

from distutils.core import setup
import setuptools
import os

with open('requirements.txt', mode='r') as f:
requirements = f.read()
required_pkgs, required_repos = requirements.split('# git repos')
required_pkgs = required_pkgs.split()
required_repos = required_repos.split()

with open('README.md') as f:
readme = f.read()

setup(name=...
...
packages=setuptools.find_packages('.', include=[...]),
install_requires=required_pkgs,
dependency_links=required_repos,
zip_safe=False, # don't install egg, but source
)

但正在运行 pip install <package>实际上并没有安装 git 依赖项。我假设 pip实际上并不使用安装脚本。当我运行 python setup.py install 时它有效手动。

编辑:

我也尝试删除 dependency_links并且只使用 install_requires使用存储库,但是当从 GitHub(该项目包括上述文件)安装我的存储库时,我遇到了

    Complete output from command python setup.py egg_info:
error in ikkuna setup command: 'install_requires' must be a string or
list of strings containing valid project/version requirement specifiers; Invalid requirement, parse error at "'+git://g'"

在其他答案中有人建议可以放一些类似的东西

git+https://github.com/themightyoarfish/svcca-gpu.git#egg=svcca

进入requirements.txt , 但失败了

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

问题:(如何)我可以将 git 存储库列为 pip 包的依赖项吗?

最佳答案

在为 Pip 指定 git 依赖项的大约 50 种不同方法中,唯一符合我预期的是这种方法(PEP 508 中的概述):

svcca @ git+ssh://git@github.com/themightyoarfish/svcca-gpu

可以在install_requires中使用,解决dependency_links被pip忽略的问题。

一个有趣的副作用是无法将包上传到具有这种依赖性的 PyPi:

HTTPError: 400 Client Error: Invalid value for requires_dist. Error: Can't have direct dependency: 'svcca @ git+ssh://git@github.com/themightyoarfish/svcca-gpu' for url: https://upload.pypi.org/legacy/

关于python - 我如何使用 git repos 作为我的 PyPi 包的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54887301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com