سؤال

ألعب مع الحصول على بعض الأشياء الأساسية للعمل في بيثون قبل أن أذهب إلى وضع ديف السرعة الكامل. فيما يلي تفاصيل:

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، أردت فقط استخدام هذا المشروع طريقة جيدة لتعليم نفسي بيثون)

هل كانت مفيدة؟

المحلول

تحتاج إلى تضمين حزمة sqlalchemy.databases.sqlite

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

نصائح أخرى

تحتاج إلى تغيير إلى sqlalchemy.dialects.sqlite حزمة

الإعداد (Windows = [{{"البرنامج النصي": "Main.py"}]، خيارات = {"py2exe": {"يتضمن": [SIP "،" pyqt4.qtsql "]،" حزم ": [" sqlalchemy. Dialects.sqlite "]}})

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top