Нужны ли библиотеки x86 Visual C ++ для x64 Python Wheels? - PullRequest
0 голосов
/ 21 сентября 2018

Являются ли библиотеки x86 Visual C ++ ( vc_redist.x86.exe ) когда-либо необходимыми для запуска x64 Python Wheels с расширениями C / C ++ в Windows или библиотек x64 Visual C ++ (*Достаточно 1005 * vc_redist.x64.exe )?

Например, x64 Tensorflow Колесу Python не требуются библиотеки x86 Visual C ++:

tenorflow-1.10.0-cp36-cp36m-win_amd64.whl

Но я не знаю, верно ли это для каждого колеса Python x64.Возможно, колесо Python может содержать машинный код как x86, так и x64.

1 Ответ

0 голосов
/ 21 сентября 2018

Я бы не ожидал, если только он не запускал отдельный процесс из 32-битного исполняемого файла.64-битный процесс не может выполнить 32-битный машинный код, и большинство вещей Python просто выполняется как часть основного процесса Python.

(Технически вы могли бы сделать что-то сумасшедшее на рукописном языке ассемблера вDLL или что-то в этом роде: большой переход к сегменту 32-битного кода, но тогда было бы сложно делать системные вызовы. Я никогда не слышал, чтобы кто-то на самом деле делал это, и он не позволял бы вам автоматически использовать 32-битные библиотеки в любом случае, так что это даже не очень актуально для этого вопроса.)

Вариант использования для запуска 32-разрядного процесса из 64-разрядного процесса Python может заключаться в использовании некоторых 32-разрядных толькотакие вещи, как устаревшие библиотеки или что-то в этом роде.В противном случае было бы просто глупо создавать 32-битный вместо 64-битного исполняемого файла, если вы собираетесь в первую очередь включить отдельный исполняемый файл для своего модуля Python.

...