如何在替代包名称下安装 Python wheel? (在我的具体情况下,"Cryptodome" 包名称下的 PyCryptodome)

How to install a Python wheel under an alternative package name? (in my specific case, PyCryptodome under the "Cryptodome" package name)

PyCryptodome says the following under the "Windows (pre-compiled)" section的安装信息页面:

  1. Install PyCryptodome as a wheel:

pip install pycryptodomex

  1. 为确保一切正常,运行 测试套件:

python -m Cryptodome.SelfTest

虽然这有几个问题:

  1. 与这些说明相反,这将 不会 安装 PyCryptoDome 作为一个轮子,但它宁愿下载它并尝试构建它,导致如果您没有为这个包中包含的 C 组件安装正确的构建环境,则会出现错误(与此相关的整个混乱是使用轮子而不是开始的最大好处)。

  2. 即使我改为从 PyCryptoDome's PyPi page 下载正确的 wheel 文件,我也必须(据我所知?)改为使用如下命令行来安装它:

pip install c:\some\path\name-of-wheel-file.whl

这反过来又使它安装在默认的 "Crypto" 包下,而不是在说明中明确提到的 "Cryptodome" 包下(因此以一种破坏性的方式与任何预先存在的安装发生冲突PyCrypto 包)。

那么,我的问题是:

有什么方法可以在不同于默认包名的包名下安装 wheel 文件吗?

PyCryptodome 似乎没有提供任何特定的 wheel 文件用于在这个替代包名称下安装,所以如果这是不可能的,我有一个大问题(因为我已经安装了 PyCrypto)。 :-(

PS。 关于需要替代包名称的更多上下文可以通过上面链接的相同 installation page 中的以下引用提供:

PyCryptodome can be used as:

1. a drop-in replacement for the old PyCrypto library. You install it with:

pip install pycryptodome

在这种情况下,所有模块都安装在 Crypto 包下。您可以使用以下方法测试一切是否正确:

python -m Crypto.SelfTest

必须避免同时安装 PyCrypto 和 PyCryptodome,因为它们会相互干扰。

因此,仅当您确定整个应用程序都部署在 virtualenv 中时,才推荐使用此选项。

2。 一个独立于旧 PyCrypto 的库。你安装它:

pip install pycryptodomex

您可以使用以下方法测试一切是否正确:

python -m Cryptodome.SelfTest

在这种情况下,所有模块都安装在 Cryptodome 包下。 PyCrypto 和 PyCryptodome 可以共存。

所以,再次强调,我想要的是按照此引用中的备选方案 2 中的描述从 wheel 文件安装它,但问题是提供的 wheel 文件似乎只默认为备选方案下描述的包名称1 在这句话中(即 "Crypto")。

据我所知这是不可能的。实现此目的的唯一方法是在 setup.py.

中修改其名称后自行重新编译轮子