因此,我制作了一个小型应用程序,我通常要打包并与世界分享。我阅读了使用setuptools打包我的应用程序的教程。直到我被困在一个地方,它进展顺利。为什么我的一些文件在安装使用setuptools打包的python模块时不可用?
我的目录结构是这样的:
- MyApp
- setup.py
- README.md
- LICENSE.txt
- MANIFEST.in
- myapp
- __init__.py
- index.py
- utils
- __init__.py
- helper.py
- some_dump.pickle
- images
- folder_1
- image_1.jpg
- image_2.jpg
- folder_2
- another_image_1.jpg
- another_image_2.jpg
- sounds
- sound_1.wav
- sound_2.wav
鉴于此目录结构,我创建了setup.py
文件与packages
选项含有myapp
和myapp.utils
列表。我还创建了一个MANIFEST.in
文件,该文件将包含我想要打包但默认不包含的所有文件。这里是清单文件的内容:
include README.md
include LICENSE.txt
include myapp/utils/*.pickle
include myapp/utils/sounds/*.wav
include myapp/utils/images/folder_1/*.jpg
include myapp/utils/images/folder_2/*.jpg
的问题是,作为分发包文件(.zip)需要创建所有这些文件,但是当我尝试使用分发包尝试安装打包自己,我没有看到图像,声音或泡菜文件。 即当我运行python setup.py install
时,我在build/lib
文件夹中看不到这些文件。我不确定原因是什么。任何人都可以帮我解决这个问题吗?
谢谢
看起来你有几个不同的问题(例如,一个有关安装的资源文件,以及一个约一封来自PyPI安装PyQt的)。请将它们拆分为单独的StackOverflow问题。 – pts
@pts:一般来说,这是正确的,但OP会询问这两个问题在包装问题中是否有共同的根本原因。 – GreenAsJade
第二个可能不是第一个的原因。同时,您通常不会在包中间安装非代码文件;改用资源文件API。然而,IIRC(已经有一段时间了),PyQt有自己的资源文件API,而不是'setuptools' /'pkg_resources'中的一个,你可能想使用它。 – abarnert