Я использую Python 3.2 32bit с установленной sqlalchemy. Я написал довольно простой скрипт в Python, используя sqlalchemy. Я импортирую его так:cx_freeze не видит sqlalchemy под окнами?
from sqlalchemy import *
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base
Сценарий работает правильно. Я хочу сделать .exe с cx_freeze
. Поэтому я написал следующее setup.py
файла:
import sys
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]}
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup( name = "dev_db",
version = "1.0",
description = "Device Database System",
options = {"build_exe": build_exe_options},
executables = [Executable("./dev_db/db_main/db_init.py", base=base)])
(Приложением является частью большего пакета с другими приложениями)
После запуска setup.py build
все идет хорошо, за исключением:
? sqlalchemy imported from db_init__main__, dev_db.common.alchemy_base, dev_db.common.devinfo_io, dev_db.common.event_io
? sqlalchemy.engine.reflection imported from db_init__main__
? sqlalchemy.ext.declarative imported from dev_db.common.alchemy_base, dev_db.common.event_io
? sqlalchemy.ext.hybrid imported from dev_db.common.devinfo_io, dev_db.common.event_io
? sqlalchemy.orm imported from db_init__main__, dev_db.common.alchemy_base, dev_db.common.devinfo_io
создаются Исполняемым но это не сработает - кажется, что cx_freeze не видит sqlalchemy, который, очевидно, установлен!
Любая помощь будет очень признательна.
Где находится SQLalchemy? Иногда cx_Freeze имеет проблемы с каталогами .egg, но я не могу их воспроизвести. –
В python_dir \ Lib \ site-packages \ SQLAlchemy-0.8.4-py3.2.egg. Так что это действительно яйцо. Считаете ли вы, что это проблема для cx_Freeze? Могу ли я каким-то образом извлечь его? – Wookie88
Попробуйте скопировать папку 'sqlalchemy' из папки .egg, на один уровень в каталог' site-packages', а затем снова замерзать. –