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命令行中执行

相关推荐
励志成为嵌入式工程师24 分钟前
c语言简单编程练习9
c语言·开发语言·算法·vim
捕鲸叉1 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer1 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq1 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
阡之尘埃1 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
记录成长java2 小时前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet
前端青山2 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
睡觉谁叫~~~2 小时前
一文解秘Rust如何与Java互操作
java·开发语言·后端·rust
音徽编程2 小时前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
观音山保我别报错3 小时前
C语言扫雷小游戏
c语言·开发语言·算法