2009-02-24 11 views
19

私はフルスピードの開発モードに入る前に、Pythonで動作するいくつかの基本的なものを手に入れて遊んでいます。ここでは詳細は以下のとおりです。py2exe + sqlalchemy + sqliteの問題

Python 2.5.4 
PyQt4 4.4.3 
SqlAlchemy 0.5.2 
py2exe 0.6.9 
setuptools 0.6c9 
pysqlite 2.5.1 

setup.py:

from distutils.core import setup 
import py2exe 

setup(windows=[{"script" : "main.py"}], options={"py2exe" : {"includes" : ["sip", "PyQt4.QtSql","sqlite3"],"packages":["sqlite3",]}}) 

py2exeは正しく.exeファイルを生成するように見えるが、私はDIST/MAIN.EXEを実行したとき、私はMAIN.EXEでこれを取得します.log

Traceback (most recent call last): 
    File "main.py", line 18, in <module> 
    File "main.py", line 14, in main 
    File "db\manager.pyc", line 12, in __init__ 
    File "sqlalchemy\engine\__init__.pyc", line 223, in create_engine 
    File "sqlalchemy\engine\strategies.pyc", line 48, in create 
    File "sqlalchemy\engine\url.pyc", line 91, in get_dialect 
ImportError: No module named sqlite 

私は心をグッとしていますが、これに対する解決策を見つけることはできません。私は今これを動作させることができない場合は、このプロジェクトのPythonを使用したいと思う私の希望は破線で始まり、私はRubyを使い始めるでしょう...(Rubyに何か問題があるわけではなく、自分自身のPythonを教えるための良い方法)

答えて

29

あなたがsqlalchemy.dialects.sqliteパッケージに

セットアップ( 窓を= [変更必要sqlalchemy.databases.sqliteパッケージ

setup(
    windows=[{"script" : "main.py"}], 
    options={"py2exe" : { 
    "includes": ["sip", "PyQt4.QtSql"], 
    "packages": ["sqlalchemy.databases.sqlite"] 
}}) 
+1

私は後でこの質問年に到着したものをありがとう –

+18

を:)ことができれば、あなたが+100与えるだろう:SQLAlchemyのは、もはや持つパッケージを持っていますこの名前;代わりに 'sqlalchemy.dialects.sqlite'と思われます。 –

+1

@ Brandonのヒントの中で、Firebirdを使用している人には、このオプションが動作していることがわかりました: '' packages ":[" sqlalchemy.dialects.firebird "、" kinterbasdb "]' – bluish

5

を含める必要が{"script": "main.py"}]、 options = {"py2exe":{ "includes":["sip"、 "PyQt4.QtSql"]、 「パッケージ」:[「sqlalchemy.dialects.sqlite」] }})