关于在linux环境对python文件进行打包

1.我的linux环境为7.4

pycharm 打包docker pycharm 打包linux_pycharm 打包docker


2. 我在linux安装的python为3.8.5

3.

pycharm 打包docker pycharm 打包linux_可执行文件_02


4.我打包使用的是pycharm进行打包,

4. 执行打包的是pyinstaller模块

5. 首先需要通过pip命令安装pyinstaller

6. pip install pyinstaller

7. 查看pycharm是否安装成功,使用以下命令

8. pip show pyinstaller

9.

pycharm 打包docker pycharm 打包linux_python_03


10.安装成功后就可以打包,打包命令不同,打包的文件不同,关于我的话,一直使用的是 -F 参数,打包的是可执行文件,不论是windows还是linux

11 关于打包参数

在安装pyinstaller的同时,可能会报错,说什么pip的版本可能不匹配,建议升级 pip版本

更新pip版本的方法

python -m pip install --upgrade pip

查询匹配的版本 pip -V

下面进行打包

-F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用

-D, –onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护

-K, –tk 在部署时包含 TCL/TK

-a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码.

-d, –debug 产生debug版本的可执行文件

-w,–windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)

-c,–nowindowed,–console 使用控制台子系统执行(默认)(只对Windows有效)

12. 打包命令为 pyinstaller -F xxx.py

我打包的时候会报错,如下

pycharm 打包docker pycharm 打包linux_pycharm 打包docker_04


==一直说什么文件找不到,我全盘去查找上面缺失的文件还是找不到,说明文件还是找不到,通过查询是 python编译异常,缺失一个动态依赖库,需要中心编译python ==

10. 先安装依赖文件 yum install python3-devel

11. 对python进行重新编译

12. == ./configure --prefix=/usr/local/python3 --enable-shared ==

Python的路径是当时编译的路径,没有差别

13. 再次进行安装 == make && make install ==

14. python安装ok后,命令 python -V 查看是否安装正常

15. 正常后, 输入

echo “/usr/local/python3/lib/” >> /etc/ld.so.conf

ldconfig
  1. 再次进行打包就会打包成功,
  2. 打包成功会有下面的成功标识

    打包的文件如下
  3. 关于打包文件的执行,因为我以为是可执行文件,我最开始觉得是类似于脚本文件,所以使用的是sh 命令,执行报错, 后来发现打包文件文件是执行文件, 所以执行一个类似于可以直接启动的 使用 == ./ test2==
    或者在命令行输入 test2 就会输出执行结果
  4. 这是我的一些新得,希望能帮助到有需要的人