由于yum依赖python2,不建议直接删除python2
安装前需要安装python3的依赖包
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 gcc kernel-devel kenel-headers make bzip2 gcc-c++ zlib zlib-devel libffi-devel
我使用的是python3.7.1版本
# wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
下载其他python版本
切换到python的下载目录,解压
# tar -zxvf Python-3.7.1.tgz
# cd Python-3.7.1
编译安装
–prefix选项是配置安装的路径,执行后所有资源文件放在/usr/local/python3的路径中
mkdir -p /usr/local/python3
# ./configure --prefix=/usr/local/python3
# make
# make install
等待一段时间安装完成------
修改软链接
若发现pip install 默认使用的是python2,此时下面必须要操作,python2跟着很多依赖包不能直接卸载,不然那linux会有问题,这个时候修改下面的软连接,使用pip3进行安装就可以完美规避这个问题!当virtualenv安装好后,在虚拟环境里就可以直接使用pip安装了(因为安装virtualenv指定了python3,在虚拟环境里默认就是python3)
# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
接下来就可以直接使用pip3 安装需要的依赖包
安装
# pip3 install virtualenv
# pip3 install virtualenvwrapper
寻找virtualenvwrapper.sh路径
# find / -name virtualenvwrapper.sh
我的结果 /usr/local/python3/bin/virtualenvwrapper.sh (virtualenvwapper的路径)
# find / -name virtualenv
我的结果 /usr/local/python3/bin/virtualenv (virtualenv的路径)
配置bashrc
# vim ~/.bashrc
添加一下四行
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
# 指定virtualenvwapper的路径
source /usr/local/python3/bin/virtualenvwrapper.sh # 刚刚查找的路径
# 指定virtualenv的路径
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv
# source ~/.bashrc # 使其生效
以上python3的环境配置成功了
virtualenv常用命令
虚拟环境列表 workon或 lsvirtualenv
新建虚拟环境 mkvirtualenv [虚拟环境名称]
启动/切换虚拟环境 workon [虚拟环境名称]
删除虚拟环境 rmvirtualenv [虚拟环境名称]
离开虚拟环境 deactivate
解决方案
1.1检测 系统 安装 OpenSSL
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel
1.2寻找openssl安装路径
# find / -name openssl
我的结果
/usr/lib64/openssl
/usr/include/openssl
/usr/bin/openssl
/etc/pki/ca-trust/extracted/openssl
我们需要知道include、lib或者是lib64上一级目录
我的是/usr 备用(1.3更改路径时使用)
1.3编辑 ssl配置参数:切换到解压号的Python目录
# vim 你的Python目录/Modules/Setup.dist
大约在 209 行 取消这几行的注释
原参数
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
改成下面的, 下面的路径/usr取自1.2查找的结果
SSL=/usr
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib64 -lssl -lcrypto
1.4保存,重新编译安装
# make
# make install
即可解决