centos 7.9 下利用miniconda里的pyinstaller打包python程序为二进制文件操作方法

centos 7.9 下利用miniconda里的pyinstaller打包python程序为二进制文件操作方法

一.centos 7.9 操作系统安装

参考:https://blog.csdn.net/qq_46015509/article/details/134572030?utm_source=miniapp_weixin
安装完成后用后台连接工具连上虚拟机

二.安装python3

0x01. 下载安装相关依赖库(需要连通互联网)
sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc libffi-devel
0x02.下载Python3得安装包到本地,此处使用Python-3.9.15.tgz安装包
wget https://www.python.org/ftp/python/3.9.15/Python-3.9.15.tgz
如果出现虚拟机内下载很慢的情况,可以直接宿主机访问https://www.python.org/ftp/python/站点进行下载你想要的安装包
0x03.解压初始化编译安装,以及创建软连接
解压:tar -zvxf Python-3.9.15.tgz
切到解压之后的目录:cd Python-3.9.15/
初始化配置:./configure --prefix=/usr/local/python3
编译安装: make && make install
做软链接:ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
检查Python3是否安装成功 :python3 -v

三.更新yum,安装Miniconda进行初始化配置,使用conda安装pyinstaller,以及更新pip相关应用程序

yum update
安装Miniconda:
<1>.下载:wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
<2>.赋权并执行:chmod 777 Miniconda3-latest-Linux-x86_64.sh && ./Miniconda3-latest-Linux-x86_64.sh
<3>.一路enter,直到来到<Do you accept the license terms?>,输入yes,enter回车


<4>.来到指定安装目录,在箭头处输入默认路径/root/miniconda3,enter回车,等待安装完成,最后一个来到<You can undo this by running conda init --reverse $SHELL? yes\|no>,输入默认的no回车即可,至此Miniconda安装完了

把conda命令放到配置文件中:vim ~/.bashrc
在最下面一行加上 export PATH=/root/miniconda3/bin:$PATH,保存退出
执行source ~/.bashrc
验证conda命令是否可用: conda info

在conda里安装你得python程序运行所需的模块
我这里安装flask和pymysql
0x01.conda install flask
0x02.conda install pymysql


更新Miniconda里面的pip: pip install --upgrade pip
更新下载Miniconda里面的pyinstaller: pip install pyinstaller -i https://mirror.baidu.com/pypi/simple
更新下载pyinstaller相关引用程序:pip install auto-py-to-exe -i https://mirror.baidu.com/pypi/simple
至此Pyinstaller相关安装和更新就结束了,下面演示具体用法

四.pyinstaller打包工具用法

pyinstaller -F apply.py
(--hidden-import 导入模块)
pyinstaller -F --hidden-import=flask --hidden-import=pymysql --hidden-import=json app.py
打包之后生成的二进制文件在dist目录下

nohup ./apply > nohup.log &
把二进制文件放到后台执行,把执行日志导入到nohup.log里面
cat nohup.log

在这里顺带提一下windows上的Python程序打包为可执行文件打包方法
pip install pyinstaller
(--add-data导入当前目录下的其他依赖文件)
pyinstaller -F cy_interfaces.py --add-data "XXX.py;."
这个可执行文件得在cmd命令行中执行

相关推荐
兵慌码乱4 小时前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot6 小时前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海10 小时前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱13 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽18 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码18 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱1 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵1 天前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio1 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663671 天前
使用 Python 从零创建 Word 文档
python