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}
...
)