py2app не может загрузить расширение

При создании приложения, использующего sqlalchemy, я получаю эту ошибку:

creating python loader for extension 'sqlalchemy.cprocessors'
error: /Users/paul/Source/Python/build/bdist.macosx-10.6-intel/python2.7-standalone/app/temp/sqlalchemy/cprocessors.py: No such file or directory

Я посмотрел в пакетах сайта и там нет cprocessors.py, но есть cprocessors.so - так что, возможно, он просто ищет неправильное расширение

Я пытался добавить "sqlalchemy.cprocessors" в список включений в py2app, но это не помогло.

Мне было интересно, смогу ли я обмануть его, поместив туда пустой файл cprocessors.py во время сборки, а затем поменяйте его местами, но я уверен, что есть лучший способ, и я не уверен, что это может сработать

1 ответ

Решение

Я решил это через некоторое время.

Ошибка была вызвана многократным вызовом setup в одном и том же скрипте сборки и утечкой состояния между сборками.

Решение состояло в том, чтобы собрать каждое приложение в отдельные каталоги, установив параметры py2app bdist_base а также dist_dir

OPTIONS = {
    ...
    "bdist_base": os.path.join("build",APP_NAME),
    "dist_dir": os.path.join("dist",APP_NAME)
}

setup(
    ...
    options={"py2app": OPTIONS}
    ...
)
Другие вопросы по тегам