python - 为 Ubuntu 发布

标签 python c++ linux ubuntu debian

我已经构建了几个要为 Ubuntu 发布的 C++ 软件。有什么方法,你能推荐什么?正在 build .deb文件并设置 apt repo对他们来说最好的方法是什么? make install 怎么样,它被认为是一种可接受的软件安装方式吗?

对我来说最简单的,也许对用户来说最透明的,就是拥有一个 github 存储库,可以在其中运行 make install 以一次性安装所有程序。

我是否总是将二进制文件安装到 /usr/bin 中?

其中一个程序包含 Python 3 库代码,是否应该安装在 /usr/lib/python3/dist-packages 中? (我不想创建一个 pip 包,那会使安装更难——并且会浪费我更多的时间。)该程序还包含供用户调整的 Python 3 示例/教程并从中学习,我在哪里安装这些?我是否创建一个 ~/my-prog-tutorial-dir/ 来放入它们?如果是这样:我应该如何命名该目录?

编辑:如果我简单地在 tarball 中发布静态链接的二进制文件,最终会破坏什么?库?是否有任何主要的应用程序 API 通常会在 Ubuntu LTS 之间发生变化?我只使用 pthreads、X11 和 OpenGL,所以我怀疑静态链接的二进制文件可能是一个相当稳定的选择?

最佳答案

一般来说,构建一个二进制包将使您的软件更易于用户安装和保持最新。 python包也是如此。通常有工具可以从 pip 包生成 apt 包,因此您可以将 python 代码列为二进制包的依赖项。

您可能会认为打包和安装程序是在浪费您的时间,但仅提供源代码分发会浪费您用户的时间。用户不希望经常检查 github 的新版本,如果他们只是想使用您的软件,他们通常不希望必须安装您的所有构建依赖项。如果您的软件是针对开发人员的,这可​​能不是什么大问题,但您的用户仍然需要完成额外的工作。

至于示例,一般惯例是将它们放在/usr/share/doc/myprogram/samples 或 python 包中的示例目录中。

关于python - 为 Ubuntu 发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37332185/

相关文章:

python - Keras 模型的矩阵大小错误

python - 将工作簿中的工作表移动到末尾

c++ - 如何从 post 请求的 HTTP 正文中提取二进制文件内容?

c++ - QOpenGLWidget 的makeCurrent 不起作用?

python - 使用 Pandas 命名 header

python - Web Scraper 未填充 .csv 文件

c++ - 遍历多个命令行参数

linux - awk + ​​过滤日志文件

linux - NASM x64 读取数字到数组并写出

python - 如何使用 python 脚本在目录之间进行 "cd"