我有一個由兩個dll文件和一個python包裝組成的庫。python cdll找不到模塊
我目前有基於這三個文件的代碼與我的主python文件在同一個父目錄中。我現在試圖在繼續開發之前重構一些東西,並且希望將所述庫代碼移動到它自己的lib /目錄中。不幸的是,我沒有嘗試過任何幫助。
import ctypes
_lib = ctypes.cdll["./my.dll"]
位於python包裝文件中的上述代碼在其原始位置加載了完美的dll。我試着在新的位置加載它,如各種方式:
from ctypes import *
import os
path = os.path.dirname(os.path.realpath(__file__))
_lib = ctypes.CDLL(os.path.join(path, 'my.dll'))
然而蟒蛇總是拋出一個異常說找不到模塊..我有複製並粘貼的路徑,以驗證它是在事實上,.dll文件的有效絕對路徑
有誰知道我需要做什麼才能將此庫重定位到子文件夾?我總是可以離開它,但我只是討厭混亂。
會發生什麼事,如果你嘗試`ctypes.util.find_library( 'dll_name引起')`?系統搜索路徑中的父目錄是什麼? (你使用Windows?什麼版本?和什麼版本的Python?) – Velociraptors 2011-01-21 19:33:51
我在Windows 7 x64上使用python 2.7;有問題的目錄definitly不在路徑上。我不明白爲什麼它需要在路徑上,因爲1)它與腳本調用它在同一個目錄中,並且2)我將一個絕對路徑傳遞給它。我將在今天晚上將您的建議結果更新回家時。 – jdsmith2816 2011-01-21 20:19:10