2011-08-22 123 views
0

我正在嘗試創建一個MoinMoin wiki的獨立桌面版本,以便我可以將它分發到CDROM上供可能安裝或未安裝Python的用戶使用。我已經嘗試py2exe和bbfreeze沒有運氣。它們都創建一個可執行文件,但運行可執行文件,當我從都得到了同樣的錯誤:創建獨立的MoinMoin wiki可執行文件

C:\python_class\cdrom\bb-binary>wikiserver.exe 
2011-08-22 15:06:21,312 WARNING MoinMoin.log:138 load_config for "C:\python_class\cdrom\bb-binary\wikiserverlogging.conf 
" failed with "No section: 'formatters'". 
2011-08-22 15:06:21,312 WARNING MoinMoin.log:139 using logging configuration read from built-in fallback in MoinMoin.log 
module! 
Traceback (most recent call last): 
    File "<string>", line 6, in <module> 
    File "__main__.py", line 128, in <module> 
    File "__main__wikiserver__.py", line 35, in <module> 
    File "MoinMoin/script/__init__.py", line 138, in run 
    File "MoinMoin/script/__init__.py", line 248, in mainloop 
    File "MoinMoin/wikiutil.py", line 1078, in importBuiltinPlugin 
    File "MoinMoin/wikiutil.py", line 1117, in builtinPlugins 
    File "MoinMoin/util/pysupport.py", line 81, in importName 
ImportError: No module named server 

下面是setup.py腳本我用py2exe:

from distutils.core import setup 
import py2exe 
includes = ["MoinMoin"] 
excludes = [] 
packages = [] 
setup(options = { 
    "py2exe" : { 
     "includes" : includes, 
     "excludes" : excludes, 
     "packages" : packages, 
     "dist_dir" : "dist" 
     } 
    }, 
    console=["wikiserver.py"]) 

這裏是setup.py腳本我用bbfreeze:

from bbfreeze import Freezer 
includes = ["MoinMoin.*"] 
excludes = [] 
f = Freezer(distdir="bb-binary", includes=includes, excludes=excludes) 
f.addScript("wikiserver.py") 
f.use_compression = 0 
f.include_py = True 
f() 

如果任何人有任何幫助或建議,我會非常感激!

謝謝, 道格

+0

沒有反應?,嘆氣,失望。 –

回答

0

py2exe具有侷限性在確定哪些模塊包括,尤其是如果它們被有條件地導入。例如,

import module 

在自己的行會工作,但是,

if someCondition: 
    import module 

不會。與許多大型框架一樣,MoinMoin只在需要時才導入需要使用的模塊。不幸的是,你需要告訴py2exe手動添加這些缺少的模塊,這將需要一些試驗和錯誤,直到找到你需要的所有模塊。

有關如何手動添加模塊,請參閱here

相關問題