You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyCrypto 2.6.1中number.py的2L在Python 3.8-slim-buster环境中变为2,但Python 3.11-slim-bookworm中不变的原因咨询

PyCrypto 2.6.1中number.py的2L在Python 3.8-slim-buster环境中变为2,但Python 3.11-slim-bookworm中不变的原因咨询

我最近在不同Python基础镜像的Docker容器里使用PyCrypto 2.6.1时遇到了一个奇怪的问题。

背景

我在两个不同的Docker环境中安装pycrypto==2.6.1:

  • Python:3.8-slim-buster
  • Python:3.11-slim-bookworm

现象

PyCrypto的Crypto/Util/number.py文件里,原始代码的第139行是使用2L的。但我检查两个环境中安装完成的库时发现:

  • 在Python 3.8-slim-buster环境中,这行代码变成了2(没有后缀L)
  • 在Python 3.11-slim-bookworm环境中,这行代码还是2L(和原始代码一致)

我已经排查的内容

  • 两个环境安装的都是同一个版本的PyCrypto(2.6.1)
  • 我用pip install --verbose命令查看了安装过程,没有看到任何明确提示表明安装时修改了源代码
  • 两个环境使用的pip版本不同:Python 3.8镜像用的是pip 23.0.1,Python 3.11镜像用的是pip 24.0

有没有大佬能帮我分析下为什么会出现这种情况?或者PyCrypto的源代码会不会在安装时被动态修改?非常感谢!

备注:内容来源于stack exchange,提问作者Zheng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 13:08:00