欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux安装Python3.8

程序员文章站 2022-05-29 10:26:04
...

Linux下安装Python3.8

一、文件下载

https://www.python.org/downloads/release/python-380/
下载Python-3.8.0.tgz文件

$	tar -zxvf Python-3.8.0.tgz 

二、安装必要环境

首先安装一些必要的库。

$	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
$	yum install libffi-devel -y

如果服务器中同时存在多个Python版本,yum可能会报一些语法错误,这时只要指定运行版本即可,在下面三个文件中都将! /usr/bin/python改成! /usr/bin/python2.7

$	vim /usr/libexec/urlgrabber-ext-down
$	vim /usr/bin/yum-config-manager
$	vim /usr/bin/yum

三、安装Python3

首先配置安装路径,这样Python所有资源文件都会集中在这里,之后要卸载也方便。

$	make clean
$	./configure prefix=usr/local/python3

然后编译并安装

$	make -j4 && make install

最后配置环境和软连接,这样以后直接敲python就是新安装的版本。

$	sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3
$	rm /usr/bin/python
$	sudo ln -s /usr/local/python3 /usr/bin/python

四、卸载

由于安装时指定了prefix,直接删除即可

$	rm -r /usr/local/python3

如果忘记了当初设的prefix是什么,而安装包目录还保存着,可以这样查看

$	cd /usr/local/python3/Install_Package/Python-3.8.0
$	cat config.log | grep 'prefix='

五、pip3

创建软链接

$	rm /usr/bin/pip3
$	sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

六、pip3的SSL问题

在使用pip3安装库的时候,报了个Warning:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available。

原因是处于安全考虑,要求openssl版本至少为1.0.2
查看服务器上openssl版本,发现当前版本是1.0.1

$	openssl version -a

6.1 安装最新的openssl并配好环境

$	wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz
$	tar -xzf openssl-1.0.2j.tar.gz
$	cd openssl-1.0.2j
$	./config --prefix=/usr/local/openssl

然而现在默认版本还是1.0.1,需要手动更改软链接

$	mv /usr/bin/openssl /usr/bin/openssl1.0.1
$	sudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl1.0.2
$	sudo ln -s /usr/bin/openssl1.0.2/ /usr/bin/openssl

6.2 更改Python3编译配置

在Python3的安装包路径下,首先找到./Module/Setup,修改下面的部分,SSL改成新版本openssl的安装路径。

SSL=/usr/local/openssl
_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto

然后配置并编译安装,这次带上 --with-ssl

$	./configure --prefix=/usr/local/python3 --with-ssl
$	make -j4 && make install

七、某些库的问题

如果在安装Python3之前没有安装第二步的必要环境,import某些库就可能报错。
例如numpy: No module named '_ctypes'pandas: no module named bz2等。

解决方法是按第二步安装好,然后重新编译安装Python3。

相关标签: python安装 踩坑