Linux安装python3
1.安装python3
1.1.下载python3
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
1.2.创建/usr/local/python3目录
mkdir -p /usr/local/python3
ps:可根据个人喜好设置目录
1.3.解压python包
tar -zxf Python-3.6.8.tgz
1.4.编译安装zlib
cd Modules/zlib
./configure
make install
ps:如果不安装zlib,会出现后文中提到的错误2
1.5.编译python
cd Python-3.6.1
./configure --prefix=/usr/local/python3
--prefix=/usr/local/python3
是将python包编译到步骤2创建的目录中。
1.6.安装python3
make && make install
1.7.添加环境变量
在文件~/.bash_profile
中PATH
变量后面添加/usr/local/python3/bin
,类似
PATH=$PATH:$HOME/bin:/usr/local/python3/bin
export PATH
添加环境变量后,保存退出,运行source命令使其立即生效
/usr/local/python3/bin
,类似
source ~/.bash_profile
1.8.验证python及pip
[root@localhost python3]# python3 -V
Python 3.6.8
[root@localhost python3]# pip3 -V
pip 9.0.1 from /usr/local/python3/lib/python3.6/site-packages (python 3.6)
如果需要将pip3
改为pip
(毕竟安装python包的时候,习惯于pip install package
这种形式),则需要将建立软连接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
ps:将pip
命令指向/usr/local/python3/bin/pip3
修改后,我们就可以用pip install package
来安装包了。
2.可能错误与警告
错误1
subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’ returned non-zero exit status 1.
解决方法
find / -name lsb_release
rm -rf /usr/bin/lsb_release
错误2
zipimport.ZipImportError: can't decompress data; zlib not available(https://www.cnblogs.com/paul8339/p/11595724.html)
解决方法
cd Modules/zlib
./configure
make install
错误3
ImportError: cannot import name HTTPSHandler
原因在于openssl,openssl-devel两个文件包未正确安装
解决方法
yum install openssl -y
yum install openssl-devel -y
安装完成后,重新编译并安装python:
cd Python-3.6.1
./configure --prefix=/usr/local/python3
make && make install
错误4
Can't connect to HTTPS URL because the SSL module is not available.
原因在于openssl
和 openssl-devel
两个文件包未正确安装。
用下来的命令来安装:
yum install openssl -y
yum install openssl-devel -y
安装完成后,重新执行安装步骤1.4~1.6。
错误5
ImportError: cannot import name HTTPSHandler
原因与错误4相同,参考错误4解决方案。
错误6
ModuleNotFoundError: No module named '_bz2'
缺少_bz2.cpython-36m-x86_64-linux-gnu.so
文件,下载该文件,并将其放于/usr/local/python3/lib/python3.6/lib-dynload/
目录下即可
注1:安装目录需要根据自己的实际情况来调整。
注2:如果是python3.7版本,则需要将文件名改为_bz2.cpython-37m-x86_64-linux-gnu.so
提供该文件的百度云链接
链接: https://pan.baidu.com/s/1HQA_tD5INwihCR5M_ckULA
提取码: ujjn
警告1
pip list
命令时,出现如下错误
DEPRECATION: The default format will switch to columns in the future.
You can use --format=(legacy|columns)(or define a format=(legacy|columns) in your pip.conf under the [list]
解决方法
1.先确保你在~/.pip 目录下有文件pip.conf
如果没有就创建这个文件:vim ~/.pip/pip.conf
2.在pip.conf文件里面加入代码:
[list]
format=columns
添加后,再次运行pip list
,该警告就会消失,而且结果显示很友好。
问题1
在Python命令行中输入退格出现^H
解决方法
安装 libreadline-dev 后重新 make && make install Python安装包
apt-get install libreadline-dev
CentOS: yum install readline-devel
Debain: apt-get install libreadline-dev

喜欢的朋友记得点赞、收藏、关注哦!!!