centos7 python3环境(virtualenv)搭建 及部分坑

由于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版本

切换到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、后续问题继续更新。。。。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值