2014-01-16 99 views
0

我有一個Pyinstaller設置(自動化規格生成和打包),目前正在使用Ubuntu,Windows和MacOS。 我現在正試圖使其在樹莓派工作(與raspbian安裝)什麼我已經建立引導程序在documentationPyInstaller NameError,找不到打包的模塊

該應用程序規定,我捆綁在由一個入口點需要進口模塊(應用程序的其餘部分和外部依賴項)並調用主循環。

基本結構是這樣的:

+-- main.py 
+-+ my_module 
    |--+ other.py 
    |--+ more_files.py 

main.py引入外部依賴性和my_module正確生成 套餐,但是當我exec當生成的二進制它拋出一個錯誤:

Traceback (most recent call last): 
    File "<string>", line 43, in <module> 
NameError: name 'my_module' is not defined 

但如果我去pyinstaller的dist/my_app目錄我看到它,如果我在那裏運行一個python控制檯,我可以這樣做:

from my_module import other 
other.main() 

運行良好,所以它似乎是二進制缺少一些PYTHON_PATH信息或東西。

注:

  • my_module進口是最後一個main.py,似乎沒有問題 進口
  • 同樣的錯誤被拋出從站點包檢索模塊,或者,如果我用它打包 - onefile,--onedir或無
  • 相同的配置腳本生成的平臺

回答

0

其餘的工作包,我發現這個問題,在main.py進口磨片再試一試。將它們放在try之外或者將它們作爲隱藏導入添加到spec文件中可以解決問題。我不知道的是我需要爲rpi而不是其他平臺做到這一點。