py2exe и sqlalchemy-migrate - PullRequest
       27

py2exe и sqlalchemy-migrate

3 голосов
/ 16 января 2011

Я использую python 2.6, sqlalchemy 0.6 для крошечного настольного приложения.Также я использую py2exe и sqlalchemy-migrate и пытаюсь интегрировать миграцию внутри exe.Таким образом, когда пользователь запускает приложение, база данных автоматически обновляется.

Если я пытаюсь использовать миграцию в моем проекте eclipse, это работает хорошо, но я хочу выпустить сам проект в exe, используя py2exe.К сожалению, когда я запускаю 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

, но каталог db_repository и сценарии миграции правильно находятся внутри «library.zip», используемого py2exe для включения всех ресурсов python, используемых моим программным обеспечением.

Кажется, что sqlalchemy-migrate не ищет в zip-каталоге каталог репозитория.

Здесь проблема (repository.py):

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) 

Как читать репозиторий из zip?Есть кто-нибудь, кто пытался (и преуспел) использовать sqlalchemy-migrate внутри exe-файла, созданного py2exe?

Спасибо за любую помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...