好的,所以我想用py2app为我的项目生成一个分布。我仍然不确定我是否得到了它的窍门。所以,我的setup.py看起来是这样的:py2app setup.py使用问题
"""
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知道扫描setup_requires中的东西并包含它们,还是我需要在模块中为它们添加一些条目?
另一个问题是,我在尝试运行我的应用时遇到了:sqlalchemy.exc.ArgumentError: Could not determine dialect for 'sqlite'
。大量的谷歌搜索后,我只看到,py2exe你需要包括sqlalchemy.dialects.sqlite
作为一个包,但它似乎并没有为我工作。我在这里错过了什么吗?
最后一个是我在python setup.py py2app
之前得到了一个:malformed object (load command 3 cmdsize not a multiple of 8)
。这是正常的吗?
问候, 波格丹
你能发布你的最终setup.py吗?我使用的SQLAlchemy是一样的,但与MySQL和我还没有弄清楚究竟是去哪里解决方言错误。 – Cryptite