我有一個python應用程序,我試圖構建爲pyinstaller
可分配。一個類似的腳本在Linux上成功建立。如何將pyinstaller指向正確版本的MSVC?90.dll?
我在Windows 7 x64上構建它,但想要構建32位二進制以實現更好的兼容性,所以我使用的是32位python-2.7。我的依賴包括matplotlib
和pyside
需要MSVC。我從Microsoft安裝名爲VCForPython27的軟件包。
我在運行我的pyinstaller腳本時遇到錯誤。我得到以下信息:
1250 INFO: Adding Microsoft.VC90.CRT to dependent assemblies of final executable 7428 INFO: Searching for assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none ... 7428 WARNING: Assembly not found 7428 ERROR: Assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none not found 7475 WARNING: lib not found: MSVCR90.dll dependency of C:\Python27\python.exe 7553 INFO: Searching for assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none ... 7553 WARNING: Assembly not found 7553 ERROR: Assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none not found 7662 WARNING: lib not found: MSVCR90.dll dependency of C:\Windows\system32\python27.dll 7662 INFO: Analyzing C:\Python27\lib\site-packages\PyInstaller\loader\_pyi_boots
有這樣議論多個消息兩個文件MSVCP90.dll和MSVCR90.DLL
我可以看到我有一個包含版本的文件夾C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2
這兩個文件。
當我從Christoph Gohlke's page和pip
(除了matplotlib,由於缺少依賴項而無法使用pip安裝)安裝我的python軟件包時,會發生這種不匹配。
奇怪的是pyinstaller
產生二進制。然而,當我嘗試運行它,我得到一個彈出一句話:
WARNING: file already exists but should not: C:\Users\Martin\AppData\Local\Temp\_MEI34922\Include\pyconfig.h
有誰知道我可以做任何以下的:
- 安裝珍貴
x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none
組裝?我在哪裏可以從這個特定的版本? - 告訴python尋找其他版本(
x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2
)? - 解決
pyconfig.h
不需要的存在問題?似乎沒有帶領任何地方,但我想我也應該嘗試。 - 找到另一種方法來構建我的代碼到二進制文件?這是一個複雜的代碼,運行外部的二進制文件,但如果我必須我會嘗試py2exe,不知道它會更好。
解決方法爲'pyconfig.h'問題提出[這裏](http://stackoverflow.com/questions/19055089/pyinstaller-onefile-警告-pyconfig-H-當進口-SciPy的或 - SciPy的信號)。 – mapto 2014-10-19 01:03:33