gpt4 book ai didi

python - pip 是否处理来自 setuptools/distribute 来源的 extras_requires?

转载 作者:IT老高 更新时间:2023-10-28 21:47:34 25 4
gpt4 key购买 nike

我有一个带有 setup.py 和 extras_requires 的包“A”行如:

extras_require = {
'ssh': ['paramiko'],
},

还有一个依赖于 util 的包“B”:

install_requires = ['A[ssh]']

如果我在包 B 上运行 python setup.py install,它在后台使用 setuptools.command.easy_install,则 extras_requires 是正确解析,并且安装了 paramiko。

但是,如果我运行 pip/path/to/Bpip hxxp://.../b-version.tar.gz,包 A 是已安装,但 paramiko 未安装。

因为 pip “从源代码安装”,我不太确定为什么这不起作用。它应该调用 B 的 setup.py,然后解析和安装 B 和 A 的依赖项。

pip 可以做到这一 pip 吗?

最佳答案

我们使用 setup.pypip 来管理我们包的开发依赖项,尽管您需要更新版本的 pip(我们目前正在使用 1.4.1)。

#!/usr/bin/env python
from setuptools import setup
from myproject import __version__

required = [
'gevent',
'flask',
...
]

extras = {
'develop': [
'Fabric',
'nose',
]
}

setup(
name="my-project",
version=__version__,
description="My awsome project.",
packages=[
"my_project"
],
include_package_data=True,
zip_safe=False,
scripts=[
'runmyproject',
],
install_requires=required,
extras_require=extras,
)

安装包:

$ pip install -e . # only installs "required"

开发:

$ pip install -e .[develop] # installs develop dependencies

关于python - pip 是否处理来自 setuptools/distribute 来源的 extras_requires?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4796936/

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