Python py2exe和sqlalchemy迁移

Python py2exe和sqlalchemy迁移,python,sqlalchemy,py2exe,sqlalchemy-migrate,Python,Sqlalchemy,Py2exe,Sqlalchemy Migrate,我将Python2.6、sqlalchemy 0.6用于一个小型桌面应用程序。此外,我正在使用py2exe和sqlalchemy migrate,并试图将migrate集成到exe中。这样,当用户启动应用程序时,数据库会自动升级 如果我尝试在我的eclipse项目中使用migrate,它工作得很好,但是我希望使用py2exe在exe中发布项目本身。不幸的是,启动exe时出现错误: Traceback (most recent call last): File "sagra.py", line 7

我将Python2.6、sqlalchemy 0.6用于一个小型桌面应用程序。此外,我正在使用py2exe和sqlalchemy migrate,并试图将migrate集成到exe中。这样,当用户启动应用程序时,数据库会自动升级

如果我尝试在我的eclipse项目中使用migrate,它工作得很好,但是我希望使用py2exe在exe中发布项目本身。不幸的是,启动exe时出现错误:

Traceback (most recent call last):
File "sagra.py", line 7, in <module>
File "guiutil.pyc", line 3, in <module>
File "bo.pyc", line 4, in <module>
File "database.pyc", line 26, in <module>
File "<string>", line 2, in version_control
File "migrate\versioning\util\__init__.pyc", line 160, in with_engine
File "migrate\versioning\api.pyc", line 248, in version_control
File "migrate\versioning\schema.pyc", line 128, in create
File "migrate\versioning\repository.pyc", line 76, in __init__
File "migrate\versioning\repository.pyc", line 97, in verify
migrate.versioning.exceptions.InvalidRepositoryError: db_repository
回溯(最近一次呼叫最后一次):
文件“sagra.py”,第7行,在
文件“guiutil.pyc”,第3行,在
文件“bo.pyc”,第4行,在
文件“database.pyc”,第26行,在
版本控制中第2行的文件“”
文件“migrate\versioning\util\\ uuuuu init\ uuuuu.pyc”,第160行,与\u引擎一起
版本控制中的文件“migrate\versioning\api.pyc”,第248行
文件“migrate\versioning\schema.pyc”,第128行,在create中
文件“migrate\versioning\repository.pyc”,第76行,在__
文件“migrate\versioning\repository.pyc”,第97行,在verify中
migrate.versioning.exceptions.InvalidRepositoryError:数据库存储库
但是目录db_存储库和迁移脚本正确地位于py2exe使用的“library.zip”中,用于合并我的软件使用的所有python资源

sqlalchemy migrate似乎没有在zip中搜索存储库的目录

这里是问题(repository.py):

def验证(cls,路径):
"""
确保目标路径是有效的存储库。
:raises::exc:`InvalidRepositoryError`
"""
#确保所需文件的存在
尝试:
找到cls.require_(路径)
找到cls.require_(os.path.join(path,cls._config))
找到cls.require_(os.path.join(path,cls._版本))
例外情况除外。PathNotFoundError,e:
引发异常。InvalidRepositoryError(路径)
如何从zip读取存储库? 是否有人尝试(并成功)在py2exe生成的exe中使用sqlalchemy migrate

谢谢你的帮助

def verify(cls, path):
"""
Ensure the target path is a valid repository.

:raises: :exc:`InvalidRepositoryError <migrate.versioning.exceptions.InvalidRepositoryError>`
"""
# Ensure the existence of required files
try:
    cls.require_found(path)
    cls.require_found(os.path.join(path, cls._config))
    cls.require_found(os.path.join(path, cls._versions))
except exceptions.PathNotFoundError, e:
    raise exceptions.InvalidRepositoryError(path)