2
我正在寫一個應用程序在python中,它將被導出到py2exe的可執行文件。我正在嘗試編寫一個插件系統,這個插件系統在應用程序是一個exe文件時可以工作。Python插件的能力
我最初的代碼看起來像
import os
Plugins=os.listdir('plugins')
for P in Plugins:
PItems=os.path.splitext(P)
PName=PItems[0]
if PItems[len(PItems)-1]=='.py':
Mod=__import__('plugins.'+PName,fromlist=['*'])
Mod.init()
但是,當出口到exe文件無法找到該模塊的插件。(pluginName)'它會嘗試當進口。
插件還應該能夠導入my_application來訪問應用程序api。
mcEdit(用python編寫)和Sublime Text(不確定)可以做到這一點,但儘管拖網源代碼,我無法找到如何。
我怎樣才能寫出什麼東西,將導出到exe文件時工作?
編輯: 澄清
- 插件應該被加載的應用程序加載時自動。它們存儲在
plugins/
目錄 - 插件應該能夠與
import myapplication
然後運行的API調用的應用程序進行交互,例如myapplication.getFoo()
或myapplication.setBar(Bar)
- 這些插件可以如鼠標點擊或移動一次或事件運行或者甚至每次畫出畫面。我希望他們在應用程序運行時保持其狀態(變量值,對象等)。
您是否確定當前的工作目錄是您期望的和您的模塊搜索路徑? (這是我處理動態加載模塊時遇到的主要問題,但我沒有使用py2exe) – Gryphius
我該怎麼做? – Bonzo
檢查'os.getcwd()'和'sys.path' – Gryphius