PY2EXE + SQLALCHEMY + مشكلة SQLite
-
06-09-2019 - |
سؤال
ألعب مع الحصول على بعض الأشياء الأساسية للعمل في بيثون قبل أن أذهب إلى وضع ديف السرعة الكامل. فيما يلي تفاصيل:
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 "]}})