我有这个小程序用Python3.5做,具有以下结构:
awesome_gui/
app.config
MANIFEST.in
setup.py
awesome_gui/
__init__.py
main.py
setup.py:
#!/usr/bin/env python
import os
from setuptools import setup
setup(
name = "awesomegui",
version = "1.0",
author = "Me",
author_email = "me@example.com",
description = "Awesome GUI",
packages=['awesome_gui'],
entry_points = {
'console_scripts': ['awesomegui=awesome_gui.main'],
},
include_package_data=True,
)
MANIFEST.in
include app.config
执行以下行并创建.deb:
$ python3 setup.py --command-packages = stdeb.command bdist_deb
并解压缩:
$ sudo dpkg -i deb_dist / python3-awesomegui_1.0-1_all.deb
代码(* .py)保存在 / usr / lib / python3 / dist-packages / awesome_gui / 中。但是我没有看到保存 app.config 的位置。
有谁知道存储非代码数据文件的位置?
谢谢!
答案 0 :(得分:0)
通常,软件包数据应位于软件包目录中(例如main.py
除外)。
readme.txt,许可证,详细说明,因为根目录中的软件包数据主要用于sdist,pypi中,而不会安装。
答案 1 :(得分:0)
因为有人问我是怎么解决这个问题的,我在下面描述一下。我对最初的方法做了以下工作:
我将初始项目的结构改成了这样:
self.sessions.text(message)
您可以看到 app.config 文件已移动到 awesome_gui/ 项目文件夹中,并且还创建了一个名为 src 的文件夹,并将代码移入其中。
setup.py 文件也被编辑:
awesome_gui/
MANIFEST.in
setup.py
awesome_gui/
app.config
src/
__init__.py
main.py
在包和entry_points<中添加了src文件夹/em> 字段。还添加了带有非 python 文件的 package_data 字段。
通过添加文件夹级别,还修改了 MANIFEST.in:
#!/usr/bin/env python
import os
from setuptools import setup
setup(
name = "awesomegui",
version = "1.0",
author = "Me",
author_email = "me@example.com",
description = "Awesome GUI",
packages=['awesome_gui',
'awesome_gui.src',
],
entry_points = {
'console_scripts': ['awesomegui=awesome_gui.src.main:main'],
},
include_package_data=True,
package_data={"awesome_gui": ['app.config']},
)
使用命令安装后,通过这些步骤,我将非 python 文件放在 /usr/lib/python3/dist-packages/awesome_gui/ 文件夹中。