#python #deployment #kivy #macos-mojave #py2app
#python #развертывание #kivy #macos-mojave #py2app
Вопрос:
Я пытался распространить свое простое приложение Kivy в Mac OS, и у меня все еще не получалось. Моя среда: macOS Mojave версии 10.14.6 Python 3.7.3, установленная с Homebrew вместе с pyenv, что позволяет поддерживать несколько версий python, установленных Kivy 1.11.1, вместе с кучей самодельных библиотек, таких как pig-config sdl2 sdl2_image, Gstreamer и т. Д.
Приложение работает довольно нормально, когда оно запускается из локальной среды, однако я не могу создать версию для распространения.
Я провел некоторое время с pyinstaller, но он постоянно выдавал мне ошибки с отсутствующими путями и библиотеками, поэтому я начал искать другой инструмент и обнаружил py2app.
Я могу легко запустить приложение в режиме псевдонима, используя:
python setup.py py2app -A
и затем
./dist/app.app/Contents/MacOS/app
но когда я использую обычный режим для создания версии развертывания:
python setup.py py2app
а затем запустите приложение
./dist/app.app/Contents/MacOS/app
Я получаю сообщение об ошибке ниже:
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "/Users/ttt/app2/dist/app.app/Contents/Resources/lib/python37.zip/kivy/__init__.pyc"
[INFO ] [Python ] v3.7.3 (default, Nov 4 2020, 11:39:31)
[Clang 10.0.1 (clang-1001.0.46.4)]
[INFO ] [Python ] Interpreter at "/Users/ttt/app2/dist/app.app/Contents/MacOS/python"
Traceback (most recent call last):
File "/Users/ttt/app2/dist/app.app/Contents/Resources/__boot__.py", line 101, in <module>
_run()
File "/Users/ttt/app2/dist/app.app/Contents/Resources/__boot__.py", line 84, in _run
exec(compile(source, path, "exec"), globals(), globals())
File "/Users/ttt/app2/dist/app.app/Contents/Resources/app.py", line 4, in <module>
from kivy.app import App
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 668, in _load_unlocked
File "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
File "kivy/app.pyc", line 319, in <module>
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 668, in _load_unlocked
File "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
File "kivy/base.pyc", line 26, in <module>
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 668, in _load_unlocked
File "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
File "kivy/clock.pyc", line 363, in <module>
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 668, in _load_unlocked
File "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
SystemError: <method 'load_module' of 'zipimport.zipimporter' objects> returned NULL without setting an error
2020-11-12 14:38:41.362 app[68264:333518] app Error```
I did a google search on
**SystemError: <method 'load_module' of 'zipimport.zipimporter' objects> returned NULL without setting an error**
but I didn't get any responses related to this issue.
I am not sure what I should do to troubleshoot.
Any insights would be appreciated.