gpt4 book ai didi

python - 如何让 setuptools 安装来自另一个来源的软件包,该软件包在 pypi 上也可以使用相同的版本号?

转载 作者:IT老高 更新时间:2023-10-28 20:22:50 28 4
gpt4 key购买 nike

这是一个与 How can I make setuptools install a package that's not on PyPI? 类似的问题但不一样。

由于我想使用某些包的 fork 版本,setuptools 会忽略依赖链接(因为它具有相同的版本号)。

有没有办法强制使用dependency_links中的链接?或者是更改 fork 存储库中版本号的唯一方法?

requires = [
...
'pyScss==1.1.3'
...

dependencies = [
'https://github.com/nadavshatz/pyScss/zipball/master#egg=pyScss-1.1.3'
]

更新

很奇怪,如果这个包是所需列表中唯一的一个,但它还没有安装,显然它可以工作。如果有另一个丢失的包,它会从 pypi 下载它。

最佳答案

我相信您可以按照该问题中的描述使用 dependency_links:

from setuptools import setup

setup(name = 'mypkg',
version = '0.0.1',
description = 'Foo',
author = 'bar',
author_email = 'bar@example.com',
install_requires = ['pyScss==1.1.3'],
dependency_links = [
'https://github.com/nadavshatz/pyScss/zipball/master#egg=pyScss-1.1.3'
]
)

使用 python setup.py develop 测试

您可能想要重命名鸡蛋以强调它是一个 fork http://www.python.org/dev/peps/pep-0386/

在 setup.py 之外,您可以使用 requirements.txtpip 在本地强制执行此操作。虽然这不会使您的软件包依赖于 fork,但您可以轻松地将其记录为安装方式。

$ cat requirements.txt
https://github.com/nadavshatz/pyScss/zipball/master#egg=pyScss-1.1.3
$ pip install -r requirements.txt

关于python - 如何让 setuptools 安装来自另一个来源的软件包,该软件包在 pypi 上也可以使用相同的版本号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11032125/

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