由于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
我使用的是python3.7.1版本
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
切换到python的下载目录,解压
tar -zxvf Python-3.7.1.tgz
cd Python-3.7.1
自定义安装路径
–prefix选项是配置安装的路径,执行后所有资源文件放在/usr/local的路径中
创建
./configure --prefix=/usr/local
编译安装
make && make install
等待一段时间安装完成——
修改软链接
若发现pip install 默认使用的是python2,此时下面必须要操作,python2跟着很多依赖包不能直接卸载,不然那linux会有问题,这个时候修改下面的软连接,使用pip3进行安装就可以完美规避这个问题!当virtualenv安装好后,在虚拟环境里就可以直接使用pip安装了(因为安装virtualenv指定了python3,在虚拟环境里默认就是python3)
ln -s /usr/local/bin/python3 /usr/bin/python3
ln -s /usr/local/bin/pip3 /usr/bin/pip3
切换pip 源,下载更快
mkdir ~/.pip
vim ~/.pip/pip.conf
写入内容
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
接下来就可以直接使用pip3 安装需要的依赖包
安装virtualenv及virtualenvwrpper 及配置
安装(必须使用Python3的pip去安装
pip3 install virtualenv virtualenvwrapper
寻找virtualenvwrapper.sh路径
find / -name virtualenvwrapper.sh
我的结果 /usr/local/bin/virtualenvwrapper.sh (virtualenvwapper的路径)
find / -name virtualenv
我的结果 /usr/local/bin/virtualenv (virtualenv的路径)
配置bashrc
vim ~/.bashrc
根据刚才查找的路径,添加一下四行
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
# 指定virtualenvwapper的路径
source /usr/local/bin/virtualenvwrapper.sh # 刚刚查找的路径
# 指定virtualenv的路径
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source ~/.bashrc
以上python3的环境配置成功了
virtualenv常用命令
workon 或 lsvirtualenv 虚拟环境列表
mkvirtualenv [虚拟环境名称] 新建虚拟环境
workon [虚拟环境名称] 启动/切换虚拟环境
rmvirtualenv [虚拟环境名称] 删除虚拟环境
deactivate 离开虚拟环境
遇到的坑
1、遇到 No module named ‘_ssl’
解决方案
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
即可解决
2、后续问题继续更新。。。。