2011-09-01 4 views
3

좋아, 그래서 내 프로젝트에 대한 배포판을 생성 py2app를 사용하려고합니다. 나는 아직도 그것의 걸림 새를 얻는다 확실하지 않다 tho. 그래서 내 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는 setup_requires의 내용을 스캔하여 포함 시키거나 MODULES에 항목을 추가해야합니까?

또 다른 문제는 내 응용 프로그램을 실행하려고 할 때 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)입니다. 이게 정상인가?

감사합니다, 보그

답변

3

그럼 내가 모든 일이 잘못있어 보인다.

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

패키지 대신 트릭을 수행 한 것 같습니다.

+0

최종 setup.py를 게시 할 수 있습니까? 나는 SQLAlchemy를 동일하게 사용하지만, mysql을 사용하면 방언 오류를 수정해야하는 부분을 정확히 파악하지 못했습니다. – Cryptite