IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Centos7 Linux 部署 Python项目 -> 正文阅读

[系统运维]Centos7 Linux 部署 Python项目

前言

????????我的项目不大就是一个main.py,由于上级要求需要部署到Linux中,第一次做linux部署python,很多都不懂,找了很多资料,也走了很多弯路,所以把整个部署过程记录下。

????????首先想要在linux部署python项目,可以两种方式,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第一:直接运行main.py,需要有Python环境 ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第二:将main.py打包成单个可执行文件,直接可以放在没有安装python的Linux环境中

????????至于第二种 打包成单个可执行文件 必须是在 Linux下 安装Python 采用Pyinstaller进行打包,所以间接说哪种方式都是需要有python的环境的,看个人选择。

部署环境说明

????????Centos 7 Linux 环境 (自带python2.* 版本)

????????Python 3.9.9

????????Pyinstaller 3.6

????????Linux 以root用户 执行以下所有命令(不强制)

一、Python 3 安装

Linux系统自带 python2.*版本,但是,我们都是在python3下开发的,所以linux也必须安装Python3,会做linux并存两个版本的python

1.安装依赖环境

输入命令: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

2.下载Python3

????????2.1 切换目录:cd? /opt

? ? ? ??2.2 创建安装保存的目录: mkdir? -r? install

? ? ? ? 2.3 下载python 两种方式(二选一):

? ? ? ? ? ? 1)通过命令:wget?https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

? ? ? ? ? ? 2)通过windows环境tar包下载,地址:Download Python | Python.org

? ? ? ? ? ? ? ? 下载 的文件名为:Python-3.7.1.tgz

3.安装Python3

安装在/usr/local/python3(具体安装位置看个人喜好)? ? ? ?

????????3.1?创建目录: ?mkdir -p /usr/local/python3

????????3.2?解压下载好的Python包:tar -zxvf Python-3.7.1.tgz

? ? ? ? 3.3 切换到解压后的包下:cd Python-3.9.9?

? ? ? ? 3.4 安装gcc:yum install gcc,确认下载输入 y

? ? ? ? 3.5?版本之后需要一个新的包libffi-devel:yum install libffi-devel -y

? ? ? ? 3.6 生成编译脚本:./configure --prefix=/usr/local/python3? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ?/usr/local/python3是 3.1 步骤 创建的目录

? ? ? ? 3.7 编译:make

????????3.8 安装:make install

4.建立软连接

????????4.1 建立python软连接:ln -s /usr/local/python3/bin/python3 /usr/bin/python3

????????4.2 建立pip软连接:ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

5.加入PATH环境变量

? ? ? ? 5.1 进入文件:vi /etc/profile

? ? ? ? 5.2 编辑文件:按 i 进入编辑状态,输入以下信息:红色部分的地址是我们3.1创建的目录

# vim ~/.bash_profile

# .bash_profile

# Get the aliases and functions

if?[?-f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/python3/bin

export PATH

编辑结束,按 esc 退出 编辑状态,然后 按 :wq 进行保存退出文件

? ? ? ? 5.3 使文件修改立马生效:source ~/.bash_profile

6.检查安装是否成功

????????6.1 查看python 版本:python3 --version

????????6.2 查看pip 版本:pip3 --version

二、pyinstaller 安装

安装特定版本的pyinstaller

1. 安装pyinstallerpip3 install? pyinstaller==3.6

三、打包部署运行

第一:直接运行main.py

环境都安装好了,先采用命令?python3+python文件 ,进行控制台运行代码,确保程序没有问题;

我的main.py程序目录是:/opt/install/main.py,所以我先切换到/opt/install/目录下,再执行程序:

cd /opt/install

python3 main.py

第二:将main.py打包成单个可执行文件

1.若是程序正常执行,则进行打包,执行以下命令:

pyinstaller -F? main.py

若是报错:Pyinstaller ModuleNotFoundError:No module named ‘cmath’,则执行以下打包:

pyinstaller -F? main.py --hidden-import cmath

-F 命令是将所有的依赖文件加程序main.py都打成一个可执行文件,最后只需要执行最后的程序,即可;

同时也可以 -D ,是将包依赖也会打出来,形成依赖+包的文件夹;

2.执行可执行文件

打好包后,会在main.py,所在的目录生成两个文件,dist和build,其中dist下的main,就是可执行文件,我们直接切换到dist下,执行./main,即可执行程序。

四、遇到的问题以及解决

1.打包不成功,报错OSError: Python library not found: libpython3.8.so, libpython3.8m.so

?解决:参考:(1条消息) 成功解决:OSError: Python library not found: libpython3.8.so, libpython3.8m.so_一勺菠萝丶的博客-CSDN博客

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 12:11:44  更:2022-02-26 12:11:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:45:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码