【发布时间】:2016-01-30 04:06:56
【问题描述】:
这是我的文件的布局方式:
| 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 可能将其误认为是标准库模块或其他东西,所以不将其包含在我的应用程序包中?
【问题讨论】:
标签: python setuptools setup.py py2app