У меня есть некоторый код, который мы использовали для вызова скрипта Python из нашего (очень большого) приложения. Он работал нормально, когда мы использовали VS2008
(составитель v90
), что является версией по умолчанию python27
был скомпилирован с.
В прошлом году мы обновили наше приложение до VS2010
, и я хотел обновить DLL-библиотеку, вызывающую Python, думая, что это будет утренняя работа. К сожалению, после долгих лет борьбы с компоновщиком и отсутствием dll большинство моих коллег соглашаются с тем, что наше приложение и python27.dll
используете несовместимые версии Windows CRT
,
Я думал, что будет достаточно просто найти версию python27.dll
(или действительно другая версия будет в порядке) скомпилировано с VS2010 (v100)
— но я не могу.
Есть ли способ вызвать скрипт Python из приложения, скомпилированного в VS2010
?
Ответ может быть следующим: Загрузите исходники Python — скомпилируйте пользовательский файл python.dll и создайте ссылку на него.
У меня та же проблема. Решение действительно состоит в том, чтобы собрать Python из исходников. Но есть большой недостаток: все дополнительные сторонние модули Python предварительно собраны для Windows
что ты скачаешь из интернета не получится! Это потому, что все эти модули будут предварительно собраны с VS 2008
и вы снова попадаете в неприятности с несовместимыми средами выполнения. Решение состоит в том, что все такие дополнительные модули необходимо заново собрать из исходных кодов, но задача не во всех случаях проста. Модули обычно тестируются в VS2008
и вы получаете много неприятностей, пытаясь запустить их с VS2010
, Я получил это в основном с разъемами базы данных для MySQL
, MSSQL
и другие.