Я пытаюсь создать исполняемый файл с py2app, но я получаю эту ошибку, я не уверен, как ее исправить, и я не уверен, правильно ли я включаю все файлы.
Мой рабочий каталог выглядит следующим образом:
directory
-- app_icon.png
-- app_loading.gif
-- app_logo.png
-- detector.pb
-- model.py
-- myapp.py
-- VGG16_weights.h5
-- VGG16.h5
Мой файл setup.py выглядит следующим образом:
from setuptools import setup
APP = ['myapp.py']
DATA_FILES = ['app_icon.png', 'app_loading.gif', 'app_logo.png', 'VGG16.h5', 'VGG16_weights.h5', 'detector.pb']
OPTIONS = {
'argv_emulation': True
}
setup(
app=APP,
py_modules=['model'],
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=["py2app"],
)
Мое приложение работает правильно, когда я выполняю python myapp.py, однако после того, как я создайте исполняемый файл, используя
python setup.py py2app -A
, когда я запускаю
./dist/myapp.app/Contents/MacOS/myapp
приложение вылетает, и я получаю следующую ошибку:
Traceback (most recent call last):
File "/Users/luis/Desktop/py2appexec/dist/myapp.app/Contents/Resources/__boot__.py", line 450, in <module>
_run()
File "/Users/luis/Desktop/py2appexec/dist/myapp.app/Contents/Resources/__boot__.py", line 444, in _run
exec(compile(source, script, "exec"), globals(), globals())
File "/Users/luis/Desktop/py2appexec/myapp.py", line 3, in <module>
import model as custom_model
File "/Users/luis/Desktop/py2appexec/model.py", line 2, in <module>
import tensorflow as tf
File "/Users/luis/virtualenvironment/executable/lib/python3.7/site-packages/tensorflow/__init__.py", line 732, in <module>
plugin_dir = _os.path.join(s, 'tensorflow-plugins')
File "/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/posixpath.py", line 80, in join
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType
2020-01-20 11:06:20.690 myapp[3806:164925] myapp Error
Похоже, что он получает null при поиске пути, но я не знаю, почему или как это исправить, какие-либо решения?