如何为 python 应用程序创建 rpm

How to create a rpm for python application

我有一个简单的应用程序(只有一个 .py 文件),它使用 cherrypy 和 flask-restful 来提供 Web 服务。我的开发环境是Windows。我使用 Python 3.5.2,还创建并使用 virtualenv 来处理我的项目。

我需要在 Linux 系统上部署它。我被要求为此创建一个 "RPM",以便它可以安装并 运行 在 Linux 机器上。

我用谷歌搜索并阅读了几篇文档:

但我不太清楚在 Linux 系统上部署它需要完成的步骤。预先感谢您的所有帮助。

这是tree命令输出的迷你demo结构,color_print是包名和目录

.
├── color_print
│   ├── color_print.py
│   └── __init__.py
├── __init__.py
└── setup.py

这里有一个示例 setup.py 用于演示

from setuptools import setup

setup(name='color_print',
    version='0.1',
    description='Color String',
    url='http://github/xxxx/color_print/',
    author='Joe Bob',
    author_email='joe.bob@gmail.com',
    license='MIT',
    packages=['color_print'],
    zip_safe=False)

无需更改目录,运行 这一条命令可构建 rpms

python setup.py bdist_rpm

这是输出,就是这么简单:

-bash-4.1$ find . -name "*.spec"
./build/bdist.linux-x86_64/rpm/SPECS/color_print.spec
-bash-4.1$ find . -name "*.rpm"
./dist/color_print-0.1-1.noarch.rpm
./dist/color_print-0.1-1.src.rpm

实际上,您肯定需要手动修改spec文件。和 运行

rpmbuild -ba ./build/bdist.linux-x86_64/rpm/SPECS/color_print.spec