Centos7 中使用 virtualenv 管理 python3

在centos系统中安装软件的包管理工具是yum,但其依赖了系统中的默认python2, 开发时经常需要安装一些软件包,可能会与系统的python中安装的软件包版本冲突;或者说开发时python的版本跟系统默认的不一样. 这样就需要使用virtualenv来实现在一个系统中并存个python环境.

virtualenv 是一款python虚拟空间管理工具,可以利用它来实现在同一个系统中使用不同的python版本和python环境.

其只能用来管理不同的python空间: 根据已经安装的python包,虚拟出一个新的空间,只包含最基本的包和命令.如果需要有不同的python版本,还可以搭配pyenv来管理.

依赖包

$ yum install gcc-c++ openssl-devel zlib-devel -y

编译安装python3.6版本 (个人习惯, 推荐使用pyenv来管理不同python版本)

$ wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

$ tar Jxvf Python-3.6.2.tar.xz

$ cd Python-3.6.2

$ ./configure --prefix=/usr/local/python3

$ make && make install

使用virtualenv创建python3.6版本虚拟空间

$ /usr/local/python3/bin/pip3 install virtualenv

$ /usr/local/python3/bin/virtualenv -p /usr/local/python3/bin/python3 --no-site-packages ~/pyenv/py36

$ source ~/pyenv/py36/bin/activate

$ which python

默认使用py36

$ su - $USER

$ echo 'source ~/pyenv/py36/bin/activate' >> .bashrc