构建Python应用程序(最终用于deb打包)

构建Python应用程序(最终用于deb打包),python,packaging,Python,Packaging,因此,我用Python编写了一个应用程序,其中有一个main.py文件,最近我还编写了一些它将使用的库(更多的py文件)。我将如何在Ubuntu中“安装”它?在添加库之前,我只需要一个bash脚本,将主py文件复制到/usr/bin,这样用户只需$appname.py就可以运行应用程序 在将来部署为.deb时,最好的方法是什么?假设您正在将应用程序安装到/opt中,并且已经正确处理了python代码本身中的导入,只需对main.py文件进行符号链接就可以满足您的需要 ln -s -T /opt/

因此,我用Python编写了一个应用程序,其中有一个main.py文件,最近我还编写了一些它将使用的库(更多的py文件)。我将如何在Ubuntu中“安装”它?在添加库之前,我只需要一个bash脚本,将主py文件复制到/usr/bin,这样用户只需$appname.py就可以运行应用程序


在将来部署为.deb时,最好的方法是什么?

假设您正在将应用程序安装到/opt中,并且已经正确处理了python代码本身中的导入,只需对main.py文件进行符号链接就可以满足您的需要

ln -s -T /opt/appname/main.py /usr/bin/appname.py

这也适用于.deb部署,只需确保在部署脚本中包含符号链接。

我认为您可以利用setup.py知道如何将python脚本安装为常规unix程序这一事实:

见本文件:

我认为,总体而言,这取决于您希望流程的集成度/专业性

无论如何,setuptools/distutils是pythonic的发展方向

如果你想更进一步,通过常规的debian/ubuntu工具(如apt-get/aptitude等)安装你的应用程序,有人已经为setuptools编写了插件来创建常规的debian/ubuntu软件包

请参阅本模块:

哦,好吧,这很有道理。谢谢您应该使用
/usr/local/bin
处理包管理器未安装的任何内容(
dpkg
/APT用于Debian和Ubuntu)。理论上,系统维护脚本应该能够在任何时候删除并重新填充
/usr/bin
。+1用于链接到“官方的”//pythonic方法来完成此操作。我想知道这一点已经有一段时间了。