Centos7 - 使用virtualenv搭建独立的Python环境

Posted 韩俊强

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7 - 使用virtualenv搭建独立的Python环境相关的知识,希望对你有一定的参考价值。

文章目录

简介:
virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题, 同时能够提升灵活性。

一、安装python

可以源码编译安装;或者使用yum安装, 之前博文已介绍过,这里就不详细介绍了~

二、安装virtualenv

yum源安装:

yum install python-virtualenv

virtualenv实际上是一个python包,所以我们可以用easy_install或者pip安装。

easy_install安装方式:

 easy_install virtualenv

三、创建python虚拟环境

使用virtualenv命令创建python虚拟环境:virtualenv [虚拟环境名称]

virtualenv env1

执行后,在本地会生成一个与虚拟环境同名的文件夹。

如果你的系统里安装有不同版本的python,可以使用–python参数指定虚拟环境的python版本:

virtualenv --python=/usr/local/python-3.9.0/bin/python3.9 env1

实测默认情况下虚拟环境不会依赖系统环境的global site-packages

比如系统环境里安装了mysqldb模块,在虚拟环境里import MySQLdb会提示ImportError。如果想依赖系统环境的第三方软件包,可以使用参数

--system-site-packages

此外,也可使用virtualenvwrappertoggleglobalsitepackages命令控制当前环境是否使用global site-packages

virtualenv --system-site-packages env1

四、启动虚拟环境

进入虚拟环境目录,启动虚拟环境,如下:

cd env1/
source bin/activate
python -V

此时命令行前面会多出一个括号,括号里为虚拟环境的名称。以后easy_install或者pip安装的所有模块都会安装到该虚拟环境目录里。

五、退出虚拟环境

退出虚拟环境:deactivate

source bin/deactivate

六、使用virtualenvwrapper

virtualenvwrapper是virtualenv的扩展工具,可以方便的创建、删除、复制、切换不同的虚拟环境

1.安装virtualenvwrapper

easy_install virtualenvwrapper

2.创建一个文件夹,用于存放所有的虚拟环境

mkdir py_vm  (目录自定义)

3.设置环境变量,把下面两行添加到~/.bashrc里

export WORKON_HOME=/home/work/py_vm (绝对路径)

source /usr/bin/virtualenvwrapper.sh

然后就可以使用virtualenvwrapper了。

4.创建虚拟环境:mkvirtualenv [虚拟环境名称]

mkvirtualenv env2

mkvirtualenv env3

注意事项:

mkvirtualenv可以使用virtualenv的参数,比如--python来指定python版本。创建虚拟环境后,会自动切换到此虚拟环境里。虚拟环境目录都在WORKON_HOME里。

5.列出所有虚拟环境

lsvirtualenv -b

6.启动/切换虚拟环境

workon [虚拟环境名称]

workon env1

7.进入当前环境的目录

cdvirtualenv

在环境里执行:cdvirtualenv

8.删除虚拟环境

rmvirtualenv [虚拟环境名称]

rmvirtualenv env1

9.cpvirtualenv复制环境

复制env1到env2
cpvirtualenv env1 env2

10.lssitepackages

列出当前环境中site-packages内容 (在环境中执行)

11.cdsitepackages

清除环境内所有第三方包

以上是关于Centos7 - 使用virtualenv搭建独立的Python环境的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7.0 搭建python2 + python3 + virtualenv 环境

CentOS7.5搭建Flask环境python3.6+mysql+redis+virtualenv

Centos7 python虚拟环境virtualenv和virtualenvwrapper简单介绍

Python flask 框架搭建

flask运行环境搭建(nginx+gunicorn)

Centos7 安装virtualenv bash: virtualenv: command not found...的解决