[英]py2app not including pythonpath
我正在嘗試使用py2app構建一個應用程序。 我可以構建該應用程序,但運行該應用程序時,在控制台中出現ImportError
,導入錯誤是No module named PythonApp
,這是我所有源代碼所在的文件夾,其位置在我的PYTHONPATH
。
我一直在from PythonApp import file
導入本地文件from PythonApp import file
而不僅僅是import file
以幫助避免名稱空間問題。
我嘗試使用以下標志python setup.py py2app --use-pythonpath
來構建它,但這似乎沒有任何區別。
import file
? PYTHONPATH
? 如果我很了解您的問題,那么您將具有以下布局:
PythonApp/
__init__.py
file.py
foo.py
並嘗試導入模塊file
從foo.py
通過from PythonApp import file
。 如果這是您要設置PYTHONPATH
的唯一原因,那么有一個更簡單的解決方案:使用相對導入 :
from . import file
您可以在PythonApp
的子包中使用from .. import file
,依此類推。 這樣,您可以避免與標准模塊發生名稱沖突。
如果由於其他原因需要破解導入路徑,還可以在啟動腳本中設置sys.path
變量(可能py2app也有一些選項)。 請記住,如果將外部目錄添加到導入路徑中,則分發應用程序捆綁包將更加困難。
另外,對於ImportError
的更簡單的解釋是py2app沒有將您的包復制到應用程序包中。 確保在setup()
的packages
參數中列出了所有軟件包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.