2009-02-24 20 views
19

Tam hız dev moduna geçmeden önce Python'da çalışmak için bazı temel şeyleri alıyorum. İşte özellikleri şunlardır:py2exe + sqlalchemy + sqlite problem

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'yi doğru .exe dosyası oluşturmak için görünür, ancak ben dist/Main.exe yürütmek zaman ben main.exe bu olsun .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 

Kalbimi gözden geçiriyorum, ancak bunun için herhangi bir çözüm bulamıyorum. Şimdi bunu işe alamıyorsam, bu proje için Python'u kullanma umudum kesilecek ve Ruby ile başlayacağım ... (Ruby ile ilgili bir sorun yok, sadece bu projeyi) kendime

cevap

29

Python öğretmek için iyi bir yolu sqlalchemy.databases.sqlite paketi

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

Ben daha sonra bu soruyu yıllık gelenler için teşekkürler –

+18

:) eğer sen +100 verecekti: sqlalchemy artık bir paket ile vardır bu isim; bunun yerine, 'sqlalchemy.dialects.sqlite' gibi görünüyor. –

+1

@ Brandon'ın ipucu bağımlılığı için, Firebird kullananlar için bu seçeneği çalışıyordum: "" paketleri ": [" sqlalchemy.dialects.firebird "," kinterbasdb "]' – bluish

5
Eğer sqlalchemy.dialects.sqlite pakete değiştirmek gerek

kurulumu ( pencere içermesi gerekir = [ {"script": "main.py"}], options = {"py2exe": { "içerir": ["sip", "PyQt4.QtSql"], "paketler": [ "sqlalchemy.dialects.sqlite"] }})