k99*_*k99 4 deb application-development
我编写了一个 pygtk 应用程序并想为它制作一个 deb pkg。
$ tree WebPad/
WebPad/
|-- jspad
| |-- __init__.py
| |-- main.py
| |-- t.py
|-- pixmaps
| |-- c.png
| |-- run.png
| `-- webpad.png
|-- README
|-- run.py
`-- templates
`-- webpad.tpl
3 directories, 19 files
Run Code Online (Sandbox Code Playgroud)
我需要更改目录布局吗?
首先,您需要在项目的根目录中setup.py
使用distutils创建一个文件。它应包含类似于以下内容的文本:
#!/usr/bin/env python
from distutils.core import setup
from glob import glob
setup(name = "WebPad",
version="0.1",
author="znetor",
packages=["jspad"],
data_files=[('share/webpad/pixmaps', glob("pixmaps/*"), ('share/webpad/templates', ['templates/webpad.tpl'])],
scripts=['run.py'])
Run Code Online (Sandbox Code Playgroud)
您还应该创建一个 MANIFEST.in 文件:
recursive-include pixmaps *
recursive-include templates *
Run Code Online (Sandbox Code Playgroud)
你已经这样做了,你可以在终端上运行各种命令来分发你的项目:
chmod +x setup.py
sudo ./setup.py install # installs your project to /usr/local
./setup.py sdist # creates a source distribution in dist/
Run Code Online (Sandbox Code Playgroud)
最后一个命令是我们感兴趣的命令。一旦您获得了带有 distutils setup.py 脚本的源代码发行版,您就可以遵循Python 打包指南 for Ubuntu。基本上,它涉及debian/
在项目的根目录中创建一个包含各种信息的目录并运行debuild
.
不久前我写了一个关于如何做到这一点的教程,其中一些不是最佳实践,但它会帮助你理解一些概念。