关于python:py2app setup.py使用问题

py2app setup.py usage question

好的,所以我正在尝试使用py2app为我的项目生成一个分发版。我仍然不确定我能掌握它。所以我的setup.py如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
"""
This is a setup.py script generated by py2applet

Usage:
    python setup.py py2app
"""


from setuptools import setup
import setuptools

PACKAGES = ['sqlalchemy.dialects.sqlite']
MODULES = ['sqlite3']

APP = ['tvb/interfaces/web/run.py']
OPTIONS = {'argv_emulation': True,
           'packages': PACKAGES ,
           'includes' : MODULES }
DATA_FILES = []

setup(
    app=APP,
    data_files=DATA_FILES,
    packages = setuptools.find_packages(),
    include_package_data=True,
    options={'py2app': OPTIONS},
    setup_requires=['py2app',"pyopengl","cherrypy","sqlalchemy","simplejson",
                         "formencode","genshi","quantities","numpy","scipy",
                         "numexpr","nibabel","cfflib","mdp","apscheduler",
                         "scikits.learn"]
)

所以我的第一个问题是:我应该在这里的PY2APP模块中包含什么?py2app是否知道扫描安装程序中的内容并将其包括在内,或者我是否需要在模块中为其添加一些条目?

另一个问题是,当我试图运行我的应用程序时,我得到了一个:sqlalchemy.exc.ArgumentError: Could not determine dialect for 'sqlite'。在大量的谷歌搜索之后,我只看到Py2Exe需要将sqlalchemy.dialects.sqlite作为一个包,但它似乎对我不起作用。我是不是错过了什么?

最后一个是,我得到了一个:malformed object (load command 3 cmdsize not a multiple of 8),就在python setup.py py2app之前。这是正常的吗?

当做,波格丹


看来我把事情搞错了。

1
'includes' : ['sqlalchemy.dialects.sqlite']

而不是包裹,这似乎已经完成了。