打包python程序到linux系统运行

PyInstaller 是一个适用于 Linux 的 Python 软件包。

首先安装PyInstaller,使用slime安装pyinstaller。

编写Python脚本并使用硬壳>requirements.txt来保留依赖项。

使用 pyinstaller --onefile your_script.py 进行打包。

在dist下运行的可执行文件。

评价一下自己。

如何在linux系统中安装python?

你说我对这个很熟悉。
说一下我在服务器上安装Python的时候的情况。

大约几年前,我为客户维护了一台旧的 Linux 服务器。
服务器是CentOS 6 ,相当旧了。
客户说需要使用Python 3 .6 进行新的开发,但是服务器上什么都没有。

第一步,检查系统自带的Python版本。
我在终端中输入 python --version,屏幕上显示 Python 2 .7 .5 哎呀,和我想的不一样。
我再次输入python3 --version,发现没有任何反应,只有一行:bash: python3 : command not find。
好吧,这是什么意思? 这说明系统中还没有安装Python 3
第二步,找到Python 3 .6 的安装包。
由于 CentOS 6 太旧,官方存储库中不再提供 3 .6 我到Python.org官网下载了一个源码压缩包,就是Python-3 .6 .8 .tgz。
然后,您必须手动编译并安装它。
我使用yum install安装了一些编译工具,比如gcc make等。
它们有很多,也有很多包。
安装完工具后,我解压了.tgz文件,进入解压后的目录,然后执行./configure,等待它检查系统环境。
此步骤有时需要半天时间,具体取决于服务器性能。
检查通过后,执行make和make install。
之后,我进入终端并输入 python3 --version。
这次终于看到Python 3 .6 .8 了! 我当时真是太高兴了。

第三步,也是最关键的一步,就是处理兼容性问题。
虽然安装了,但并不是所有东西都可以直接使用。
我记得有一次,客户的一个旧脚本使用了 print 'hello' 的 Python 2 语法。
我一运行它,就报告了一个错误,说 SyntaxError: Missing Parentheses in call to 'print'。
我得把文件一一改,打印前加括号,改成print('hello')。
几个剧本都被修改了,改动很大。
还有一次,安装Python 3 .6 后,系统自带的python仍然指向2 .7 客户这边的一些小程序也依赖系统自带的Python来执行。
我得想办法,比如给Python 3 .6 添加单独的软链接,或者建议客户修改启动脚本,以便可以从Python3 启动。
总之,这一步是绕不过去的,得花时间调试。

所以你看,安装Python可不是三步那么简单,尤其是老系统,以后还要担心兼容性问题。
这都是我个人的经历,我也踩过很多坑。