首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建独立的MoinMoin维基可执行文件

创建独立的MoinMoin维基可执行文件
EN

Stack Overflow用户
提问于 2011-08-23 03:12:52
回答 1查看 531关注 0票数 0

我正在尝试创建一个独立的、桌面版本的Python,这样我就可以通过CDROM将其分发给那些可能安装了MoinMoin的人,也可能没有安装的人。我尝试过py2exe和bbfreeze,但都没有成功。它们都创建了一个可执行文件,但是当该可执行文件运行时,我从这两个文件中得到了相同的错误:

代码语言:javascript
复制
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

下面是我在py2exe中使用的setup.py脚本:

代码语言:javascript
复制
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"])

下面是我在bbfreeze中使用的setup.py脚本:

代码语言:javascript
复制
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()

如果任何人有任何帮助或建议,我将不胜感激!

谢谢,道格

EN

回答 1

Stack Overflow用户

发布于 2012-07-07 05:32:08

py2exe在识别要包含的模块方面存在限制,特别是在有条件地导入模块时。例如,

代码语言:javascript
复制
import module

然而,在它自己的线路上将会工作,

代码语言:javascript
复制
if someCondition:
    import module

就像许多大型框架经常出现的情况一样,MoinMoin只在需要时才导入需要使用的模块。不幸的是,您将需要告诉py2exe手动包含这些缺少的模块,这将需要反复尝试,直到您找到所有需要的模块。

有关如何手动包含模块,请参阅here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7152352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档