2016-08-22 38 views
0

我在一個文件中使用Adafruit_DHT庫,當我嘗試使用pyinstaller進行編譯時,出現Raspberry_Pi_Driver.so錯誤:無法打開共享對象文件 使用正常的RPi(不是型號2)和raspbian。我試圖編譯的文件本身很好。 Raspberry_Pi_Driver.so在那裏,我找到了./ | grep Raspberry_Pi_Driver.so並存在。在編譯pyinsatller時,我也試着使用--hidden-import = Adafruit_DHT,但這也不起作用。編譯時不會給出任何錯誤。 我注意到編譯後,並在生成文件夾中,你是一個Adafruit_DHT文件夾,有驅動程序等。 任何想法是怎麼回事?難道這個庫已經在build文件夾下被重新創建了,並且這在執行文件時會令人困惑?pyinstaller Adafruit DHT library raspberry_Pi_Driver.so:無法打開共享對象

+0

設置'LD_DEBUG'來查看動態鏈接程序在哪裏查找.so? (http://www.bnikolic.co.uk/blog/linux-ld-debug.html)。如果它不在默認路徑/ lib/usr/lib等中,則可能需要設置LD_LIBRARY_PATH。 – Pawel

+0

您可以嘗試[this](http://stackoverflow.com/a/32048136/3837382)將您的代碼指向['pyinstaller' temp directory](https://pythonhosted.org/PyInstaller/operating-mode。 HTML#如何-的一檔節目,作品)。如果這不起作用,請使用'--hidden-import'選項再次嘗試。 – Repiklis

+0

@Pawel:你能舉一個例子來說明如何設置ld_debug嗎?這是當生成exe文件或執行它時? – Hans

回答

0

我找到了一個解決方案(感謝:k4ml.me/posts/pyinstaller.html)我剛剛添加'-p/path/to/mylib'創建exe文件時,mylib是Adafruit_DHT文件夾的目錄(那個Adafruit_DHT_Driver.so文件在那裏)。

相關問題