如何解决setup.py py2app无法与MANIFEST.in一起使用,而bdist-wheel无法与DATA_FILES现已弃用一起使用?该怎么办?
谜题:
python3 setup.py bdist_wheel 忽略 setup.py 文件中的 DATA_FILES 部分(现已弃用),并且需要使用 MANIFEST .in 将data_files放置在dist文件夹中的正确位置。
python3 setup.py py2app 忽略MANIFEST.in,似乎需要使用setup.py文件中不建议使用的DATA_FILES部分。否则,数据文件将不在 Contents 和 Resources 文件夹内的正确位置。
问题: 满足这两种构建类型的正确方法是什么?在下一版的setuptools和py2app中将支持该构建类型?
目标: 我有一个python程序,我想以他们可能熟悉的应用程序形式将它们部署在多个操作系统上。具体来说,我想部署到 .app 以便在 MacOS 上进行部署(使用 py2app )和 .exe 在 Windows 10 (使用 PyInstaller )上,再加上“ sdist” 和“ wheel” 分发。>
但是,在解压缩和构建发行版时,将 data_folders 和 data_files (不是.py文件)放置在正确的位置时,我遇到了问题。
我发现 setuptools 的当前文档说,“不赞成使用 data_files 。它不能与轮子一起使用,因此应避免。”
为了成功制作我的 wheel 发行版,我在 MANIFEST.in 文件中定义了这些data_file。
问题: 使用MANIFEST.in时,运行 python3 setup.py的 python3 setup.py bdist_wheel 和 python3 setup.py sdist 时会生成正确的结果py2app 无法将data_folders和文件放置在正确的位置!
我的项目具有以下形式:
project root
|_________data_folder1
| |________ data.jpg
|
|_________data_folder2
| |________ data.pem
|
|_________src
| |________ __init__.py
| |_________main.py
| |_________other.py
|
|_________LICENSE.txt
|_________MANIFEST.in
|_________PKG-INFO
|_________pyproject.toml
|_________README.md
|_________requirements.txt
|_________setup.cfg
|_________setup.py
所需的发布后结果:
dist
|____project.app
|_________Contents
|_________Frameworks
|_________MacOS
|_________Resources
| |_________lib
| |_________data_folder2
| |________ data.dat
|_________data_folder1
| |________ data.jpg
|
|________ info.plist
|________ PkgInfo
在使用MANIFEST.in时,PY2APP会做什么?
dist
|____project.app
|_________Contents
|_________Frameworks
|_________MacOS
|_________Resources
| |_________lib
|
|________ info.plist
|________ PkgInfo
满足Wheel和Py2App构建类型的正确方法是什么,这将在下一版的setuptools和py2app中得到支持?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。