簡體   English   中英

py2app不包括pythonpath

[英]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
  • 如何使py2app實現我的PYTHONPATH

如果我很了解您的問題,那么您將具有以下布局:

PythonApp/
  __init__.py
  file.py
  foo.py

並嘗試導入模塊filefoo.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM