1、安装python3.x
(下面的步骤统一使用root用户操作)
1.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
python3.7版本之后需要一个新的包libffi-devel
yum install libffi-devel -y
1.2 下载Python3
官网下载地址:Download Python | Python.org
[root@linux100 software]# wget https://www.python.org/ftp/python/3.6.13/Python-3.6.13.tgz
1.3 安装python3
创建目录
mkdir -p /usr/local/python3
解压下载好的Python-3.x.x.tgz包,之前尝试最新的Python-3.6.15.tgz出现各种以前问题,没有解决,切换到Python-3.6.13.tgz就没有问题。具体原因未知。
tar -zvxf /opt/software/Python-3.6.13.tgz -C /opt/module/
1.4 进入解压后的目录,编译安装
cd Python-3.6.13
./configure --prefix=/usr/local/python3
1)make
make
2)make install
make install
或者 (直接使用make && make install)
1.5 建立python3的软链
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
1.6 并将/usr/local/python3/bin加入PATH
也可以在自定义的/etc/profile.d/dev_env.sh里面配置(通过查看profile文件,可以看到系统会将/etc/profile.d/目录下的所有.sh
后缀的文件遍历加载到环境变量中)
#PYTHON3_HOME
export PYTHON3_HOME=/usr/local/python3
export PATH=$PATH:$PYTHON3_HOME/bin
1.7 检查Python3及pip3是否正常可用
python3 -V
pip3 -V
2、pip(3) 的一些协助命令
linux中可以使用pip list命令查看安装的python包。
pip是一个安装和管理Python包的工具,可以使用下面的命令安装:
sudo yum -y install python-pip
如果操作pip3,提示“bash: pip3: 未找到命令...”,就直接安装python3-pip工具:
sudo yum -y install python3-pip
更新命令:
pip3 install --upgrade pip
pip命令格式:pip [options]
常用pip命令参数:
install 安装软件.
uninstall 卸载软件.
freeze 按着一定格式输出已安装软件列表
list 列出已安装软件.
show 显示软件详细信息.
search 搜索软件,类似yum里的search.
wheel Build wheels from your requirements.
zip 不推荐. Zip individual packages.
unzip 不推荐. Unzip individual packages.
bundle 不推荐. Create pybundles.
help 当前帮助.
3、python3安装过程中一些注意点和问题点
3.1 不同系统的安装命令
CentOS 安装命令:
sudo yum -y install xxx...
ubuntu 安装命令:
sudo apt-get xxx...
3.2 安装遇到 zipimport.ZipImportError: can't decompress data; zlib not available
报这个错会导致pip3无法使用,所以一定要解决这个错
1)在报错的当前路径下安装zlib相关依赖包:
sudo yum -y install zlib*
2)进入 /opt/module/Python-3.6.13/Modules 下的Setup文件
vim /opt/module/Python-3.6.13/Modules/Setup
找到
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
去掉注释;
3)最后一定要记得回到python的安装目录下 cd /opt/module/Python-3.6.13/ 重新编译
make && make install
3.3 编译error: no acceptable C compiler found in $PATH
执行./configure时报错:
configure: error: no acceptable C compiler found in $PATH
***********************************************************
查看得知未安装合适的编译器。
sudo yum install gcc-c++
(使用sudo yum install gcc-c++时会自动安装/升级gcc及其他依赖的包。)
重新执行(注意./configure是否要指定目录)
./configure
make
make install
附带说明gcc与g++/gcc-c++的异同:
gcc为GNU Compiler Collection的缩写,可以编译C和C++源代码等,它是GNU开发的C和C++以及其他很多种语言的编译器(最早的时候只能编译C,后来很快进化成一个编译多种语言的集合,如Fortran、Pascal、Objective-C、Java、Ada、 Go等。)
gcc在编译C++源代码的阶段,只能编译C++源文件,而不能自动和C++程序使用的库链接(编译过程分为编译、链接两个阶段,源程序文件被编译成目标文件,多个目标文件连同库被链接成一个最终的可执行文件,可执行文件被加载到内存中运行)。因此,通常使用g++命令来完成C++程序的编译和连接,该程序会自动调用 gcc 实现编译。
g++也能编译C源代码,只不过把会把它当成C++源代码。后缀为.c的源文件,gcc把它当作是C程序,而g++把它当作是c++程序;后缀为.cpp的,两者都会认为是c++程序。注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。
3.4 python https 无法访问 SSLError("Can\'t connect to HTTPS URL because the SSL module is not available
1)查看系统是否安装了openssl
rpm -aq|grep openssl
2) 如果没有就直接安装:
yum install openssl-devel openssl
也有可能,最后还是不行,那有可能安装python过程中出现错误,删除安装目录,重新安装。