小编Max*_*nov的帖子

32 位和 64 位的不同 python 包要求

问题

我的代码依赖于两个包AB.

最近我发现了一个包兼容性问题:包的维护者A停止发布 32 位 Python 的 whl 包,同时包的维护者删除了包所依赖的B一些功能。A由于 packageA依赖于 package 中的某些功能B,因此代码在运行时会失败。当使用 64 位 Python 时,问题就消失了 - 所有包都很好地同步。

当然我可以手动抑制 package 的较高版本B,但对于 64 位版本没有意义。最好使用 64 位 Python 的最新版本。然而,有必要让 Python 32 位也能顺利运行,并且使用较旧的软件包版本,我可以自己定义这些版本。

问题

我想知道是否有机会为不同的位版本指定不同的软件包要求。

目前setup.py我们有install_requires字段,但这是通用的而不是特定于位的。

额外信息

摘自setup.py

install_requires=[
    'A',
    'B',
]
Run Code Online (Sandbox Code Playgroud)

我在开发环境中安装我的包:

$ pip install -e .
Run Code Online (Sandbox Code Playgroud)

更新

我可能应该明确提到,在这里我想区分不同的 Python 位版本(32 位与 64 位)而不是操作系统架构。

我设法想出的唯一解决方案是:

is_32_bit = sys.maxsize <= 2**32 …
Run Code Online (Sandbox Code Playgroud)

python pip setuptools

3
推荐指数
1
解决办法
490
查看次数

标签 统计

pip ×1

python ×1

setuptools ×1