![](/img/trans.png)
[英]Python pylab ImportError: DLL load failed Windows 7 64 Bit
[英]python failed to load 64 bit DLL on a 64 bit Windows
我正在測試一個稱為基礎DLL庫的小型python程序。
我的系統是64位Windows7。python可執行文件是隨Anaconda虛擬環境啟動的64位Anaconda3附帶的文件。
首先引起我注意的是這段python代碼
sys.platform
即使對於AMD64 Arch也返回win32,“ platform.machine()”似乎返回了更准確的結果。
Python 3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)] on win32
我確實找到了一些討論該問題的SO帖子,例如this 。
然后在嘗試加載DLL文件時程序失敗:
windll.LoadLibrary(realpath(join(_module_location, 'dlh', 'win64', 'I_cant_tell_you_the_name.dll')))
錯誤信息:
OSError: [WinError 193] %1 is not a valid Win32 application
問題是,為什么python無法在64位環境中加載64位DLL? 在我看來,編譯器堅持改為加載32位DLL。 這是為什么? 還是Anaconda創建的venv僅支持32位代碼?
不幸的是,我沒有用於測試的32位DLL,否則我想看看效果如何。
您可以使用Dependency Walker來檢查正在發生的事情。 它具有可跟蹤所有庫加載的配置文件功能。
它可能會向您顯示一些可能的問題:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.