Rib*_*bes 6 python packaging manifest python-3.x
我有这个小程序用 Python3.5 做它,结构如下:
awesome_gui/
app.config
MANIFEST.in
setup.py
awesome_gui/
__init__.py
main.py
Run Code Online (Sandbox Code Playgroud)
设置.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,
)
Run Code Online (Sandbox Code Playgroud)
清单文件
include app.config
Run Code Online (Sandbox Code Playgroud)
执行以下行并创建 .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的保存位置。
有谁知道非代码的数据文件存储在哪里?
谢谢!
因为有人问我如何解决这个问题,我在下面描述一下。我对最初的方法做了以下操作:
我将初始项目的结构更改为:
awesome_gui/
MANIFEST.in
setup.py
awesome_gui/
app.config
src/
__init__.py
main.py
Run Code Online (Sandbox Code Playgroud)
您可以看到app.config文件已移至Awesome_gui/项目文件夹中,并且还创建了一个名为src的文件夹并将代码移至其中。
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',
'awesome_gui.src',
],
entry_points = {
'console_scripts': ['awesomegui=awesome_gui.src.main:main'],
},
include_package_data=True,
package_data={"awesome_gui": ['app.config']},
)
Run Code Online (Sandbox Code Playgroud)
在包和entry_points字段中添加了src文件夹。还添加了带有非 python 文件的package_data字段。
通过添加文件夹级别,MANIFEST.in也被修改:
include awesome_gui/app.config
Run Code Online (Sandbox Code Playgroud)
使用命令安装后,通过这些步骤,我将非 python 文件放在/usr/lib/python3/dist-packages/awesome_gui/文件夹中。
归档时间: |
|
查看次数: |
247 次 |
最近记录: |