2014-01-18 32 views
3

因此,我制作了一个小型应用程序,我通常要打包并与世界分享。我阅读了使用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选项含有myappmyapp.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文件夹中看不到这些文件。我不确定原因是什么。任何人都可以帮我解决这个问题吗?

谢谢

+3

看起来你有几个不同的问题(例如,一个有关安装的资源文件,以及一个约一封来自PyPI安装PyQt的)。请将它们拆分为单独的StackOverflow问题。 – pts

+1

@pts:一般来说,这是正确的,但OP会询问这两个问题在包装问题中是否有共同的根本原因。 – GreenAsJade

+1

第二个可能不是第一个的原因。同时,您通常不会在包中间安装非代码文件;改用资源文件API。然而,IIRC(已经有一段时间了),PyQt有自己的资源文件API,而不是'setuptools' /'pkg_resources'中的一个,你可能想使用它。 – abarnert

回答

相关问题