您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關在Python中使用import .pyd時會遇到哪些問題,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。
Python import .pyd文件時會搜索sys.path列表中的路徑
運行
import xxx.pyd
可能是xxx.pyd所在路徑不在sys.path中。
import之前用sys.path.append()方法加入xxx.pyd所在路徑,確定當前路徑推薦用os.path.realpath('.')。
可能是xxx.pyd調用了其他的DLL文件,且其調用的DLL文件無法被搜索到。
用dependency walker查看xxx.pyd依賴的DLL,然后有兩種方案
(1)將所有DLL放入xxx.pyd所在目錄
(2)單獨建立存放DLL文件的目錄,比如D:\test\DLLFiles。
用os.environ['path']方法加入到環境變量PATH中:
os.environ['path'] += ';D:\\test\\DLLFiles'
補充:Python import / pyd / dll
使用Python import 模塊時,
先會在模塊的搜索path里依次搜索(前面會覆蓋之后出現的同名模塊),次序為:
1. 程序的主目錄(交互模式下當前的工作目錄或 腳本文件所在的目錄)
2. 環境變量 PYTHONPATH目錄(如果已經進行了設置)
3. 標準鏈接庫目錄(標準庫模塊所在目錄 C:\Python27或C:\Python27\Lib\site-packages 目錄中)
4. 任何放在標準鏈接庫目錄中的.pth文件中記錄的目錄
no module 錯誤時, 說明無法找到對應的 .pyd 文件(Python中的動態鏈接庫文件),
a. 該 vtkCommonPython.pyd 文件不在搜索目里。(需拷入到搜索目錄下 或 將其目錄設置到PYTHONPATH中)
b. 該 module的 名字有問題, 比如輸錯了;或 應該為Debug版(如應該為 vtkCommonPython_d.pyd, Debug版的都需在 Python_d.exe中執行,且都需加_d后綴)
DLL load failed 錯誤時, 說明 可以找到該 模塊對應的.pyd文件,但無法找到該 .pyd文件 對應的 dll文件時。
將對應的同名.dll文件路徑放到環境變量PATH中。(或將該.dll文件放到PATH能找到的目錄下)
上述就是小編為大家分享的在Python中使用import .pyd時會遇到哪些問題了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。