x64 Python Wheels是否需要x86 Visual C ++库?

时间:2018-09-21 09:26:30

标签: python visual-c++ x86 x86-64 python-wheel

运行 在Windows上具有C / C ++扩展的x64 Python Wheels或x64 Visual C ++库(vc_redist.x86.exe)是否需要x86 Visual C ++库(vc_redist.x64.exe)?足够了吗?

例如,x64 Tensorflow Python Wheel不需要x86 Visual C ++库:

  

tensorflow-1.10.0-cp36-cp36m-win_amd64.whl

但是我不知道每个x64 Python Wheel是否都适用。也许Python Wheel可以同时包含x86和x64机器代码。

1 个答案:

答案 0 :(得分:1)

我希望不会,除非它从32位可执行文件开始一个单独的进程。 64位进程无法执行32位机器代码,大多数Python东西只是作为主要Python进程的一部分运行。

(从技术上讲,您可以使用DLL中的手写汇编语言执行一些疯狂的操作或类似的操作:跳至32位代码段,但是那样很难进行系统调用。我从未听说过的人实际上这样做了,而且无论如何它都不会让您自动使用32位库,因此它甚至与这个问题都不相关。)

从64位Python进程启动32位进程的用例可能是使用一些仅32位的东西,例如旧版库或其他东西。否则,如果首先要在Python模块中包含一个单独的可执行文件,那么构建32位而不是64位可执行文件将很愚蠢。