Вот как расположены мои файлы:
| setup.py
+ myapp
| __init__.py
| myapp.py
| version.py
(Надеюсь, понятно... не думаю, что слишком сложно.)
Вот что содержит myapp.py:
from fingui import Label
from .version import __version__
Label('I am version: ' + __version__)
Если я нахожусь в каталоге, где я вижу setup.py
, следующее работает нормально:
python -m myapp.myapp
Когда я пытаюсь упаковать его как приложение, используя это:
python setup.py py2app
И затем запустив его, я получаю это сообщение об ошибке в строке, где я импортирую версию:
ValueError: Attempted relative import in non-package
Вот содержимое setup.py
:
exec(open('myapp/version.py').read())
from setuptools import setup
setup(app = 'myapp/myapp.py',
setup_requirements = ['py2app'],
name = 'MyApp',
version = __version__)
Если я загляну в пакет приложений, созданный py2app
, я увижу, что myapp.py
помещен в пакет, но version.py
и __init__.py
нигде не найдены.
Как правильно структурировать мои файлы? Как заставить py2app
и/или setup
распознавать, какие файлы необходимы и куда их поместить?
Кроме того, пока мы обсуждаем эту тему, как мне включить fingui? Это библиотека, которую я установил с помощью pip... Я думаю, что py2app
может принять ее за стандартный библиотечный модуль или что-то в этом роде, поэтому не включать ее в мой пакет приложений?