centos7.9安装python3.9

目录

 

一、安装python3.9.2

二、安装python包

三、Python包导出与安装

四、运行后台程序


一、安装python3.9.2

 

1、提前去官网下载好Python-3.9.2.tgz,并复制到 root 目录下。或者 wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz ,不推荐,这个网站访问会很快,直接下载很慢的。 如果没有 wget 命令,可以使用命令安装:yum -y install wget

 

2、安装依赖包,避免安装过程中出现的 "zipimport.ZipImportError"错误 和"ModuleNotFoundError: No module named '_ctypes'" 错误:

yum -y install zlib-devel libffi-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

 

3、解压、编译、安装:

tar -zxvf Python-3.9.2.tgz

cd Python-3.9.2

./configure --prefix=/usr/local/python3 --enable-optimizations

make && make install

如果 编译时提示 Could not import runpy module 错误

导致原因:

在低版本的gcc中带有–enable-optimizations参数

解决方法(不推荐使用方法1):

1、升级gcc至高版本,gcc 8.1.0已修复此问题

2、./configure参数中去掉–enable-optimizations

如果2无法解决,则只能用方法1: 升级 gcc 版本(注意退出root/Python-3.9.2/目录)

安装 CentOS 软件集:yum install -y centos-release-scl

安装编译工具链:yum install -y devtoolset-8-toolchain

启用新的工具链:scl enable devtoolset-8 bash

其他:

--enable-optimization 和 --with-lto 做了哪些优化 ?

在 stackoverflow 上有个关于这个问题的讨论: Python 编译优化都做了哪些?大体意思是能够使 python 提升 10%-20% 速度。

 

4、修改环境变量:

vim /etc/profile

找到 "export PATH" 开头的行,在此行之前,插入新行,内容如下:

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

#注意:等号两侧无空格,冒号:不能省

保存退出,执行命令:

source /etc/profile

 

5、现在我们看一下两个版本的 python 和 pip 是否共存:

[root@localhost ~]# python3 -V

Python 3.9.2

[root@localhost ~]# pip3 -V

pip 20.2.3 from /usr/local/python3/lib/python3.9/site-packages/pip (python 3.9)

[root@localhost ~]# python -V

Python 2.7.5

[root@localhost ~]# pip -V

pip 19.1.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)

因为系统的 yum,以及其他组件,均依赖 python2.7.5,所以不建议使用软链接的方式替换原来的 python2 环境。使用 python3 的时候,我们只需要按如下的操作即可:

pip3 install 包名

python3 -m pip install 包名

python3 -m pip install pymongo (安装Python3的pymongo包)

python3 myscripts.py

pip3 install --upgrade pip (升级pip3版本)

......

安装完成。

参考:

CentOS 7下编译安装Python 3.7与Python 2.7.5共存

 

二、安装python包

pip3 install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple/  

pip3 install copyheaders  -i   https://pypi.tuna.tsinghua.edu.cn/simple/  

pip3 install pandas  -i   https://pypi.tuna.tsinghua.edu.cn/simple/  

pip3 install tushare  -i   https://pypi.tuna.tsinghua.edu.cn/simple/  

pip3 install pymongo -i   https://pypi.tuna.tsinghua.edu.cn/simple/  

pip3 install pymysql  -i   https://pypi.tuna.tsinghua.edu.cn/simple/  

pip3 install xlrd -i   https://pypi.tuna.tsinghua.edu.cn/simple/  

pip3 install cryptography -i   https://pypi.tuna.tsinghua.edu.cn/simple/  

……

推荐使用清华大学python镜像进行安装,速度更快。

 

三、Python包导出与安装

使用 pip freeze 获取安装的 Python 包

有时,我们为了代码稳定、代码迁移等,需要获取当前 Python 工程依赖包的安装列表。这个列表要包括需要安装什么包、以及包的版本。这便是:requirements.txt。

pip 使用 requirements.txt 安装

输入命令:

pip install -r requirements.txt

即可安装 requirements.txt 中的所有包(指定版本)。

pip freeze

使用 pip freeze 会输出所有在本地已安装的包(但不包括 pip、wheel、setuptools 等自带包),若需要输出内容与 pip list 一致,需使用 pip freeze -all。

使用方法:

pip freeze > requirements.txt

适用场合

由于 pip freeze 与 pip list 内容区别不大,所以,若想要用其作为工程依赖包列表,一定要配合 Python 虚拟环境 virtualenv 使用。:python -m venv 位置

 

四、运行后台程序

为了避免本机突然断电等突然问题,我们需要将程序放在服务器后台运行,(如果有一些输出文件,输出到文件中方便查看,因为放在后台运行之后,将不能看到控台输出的信息)

1、在后台运行程序命令

仍然是上面test.py的例子,其对应的后台运行的命令是:

nohup python3 test.py >myoutput.file 2>&1 &

命令具体释义如下:

①nohup表示在后台运行

②python3 test.py是运行python文件的命令

③>表示输出,其右侧接文件名。

③myoutput.file是系统的自动输出文件(不是代码中的,代码中的信息会输出到代码指定的目录文件中。这里的输出内容是指程序自身的运行信息,如:数据库拒绝连接等)

④2>&1表示把错误重定向到myoutput.file的重定向输出中。带&的命令行,就是terminal终端即使关闭,或者电脑死机程序依然运行。(执行完此命令后,就可以将控制台直接关闭了,不会影响程序的运行。)

2、进程查看

(1)使用jobs 可查看当前控制台正在运行的进程(只能查到当前控制台,若关闭了则不能使用jobs查看)

(2)使用ps -ef可查看所有正在运行的进程(所有程序)

若想要限定查看python3的进程,可使用ps -ef | grep python3,其中| grep表示筛选条件。

(3)若想要关闭此后台运行的程序,则需要先使用ps -ef命令查找到当前进程的pid,再使用kill命令杀死此进程:

ps -ef | grep python3

kill -9 pid

原文链接:https://blog.csdn.net/quiet_girl/article/details/79902915

 

你可能感兴趣的:(Python,Centos7,python,centos)