美文网首页
使用virtualenvwrapper创建python虚拟环境

使用virtualenvwrapper创建python虚拟环境

作者: _爱吃兔子的萝卜_ | 来源:发表于2019-07-22 22:23 被阅读0次

当需要在一个系统中同时使用两个python版本,可以通过创建虚拟环境的方式实现。鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper。 virtualenvwrapper提供了一系列命令使得和虚拟环境工作变得便利。它把你所有的虚拟环境都放在一个地方。

1、查看当前系统默认python

[root@centos7_kvm01 ~]# python --version

Python 2.7.5

2、查看py2和py3的目录

以下查询py3和py2的目录:

[root@centos7_kvm01 ~]# which python3.7

/usr/local/bin/python3.7

[root@centos7_kvm01 ~]# which python2.7

/usr/bin/python2.7

二、安装virtualenvwrapper

1、先安装pip

由于直接yum安装会报,找不到包,

需要先安装扩展源EPEL。

EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。

首先安装epel扩展源:

sudo yum -yinstallepel-release

然后再安装pip。yum install python-pip

安装完成后,会提示升级pip:

pip install --upgrade pip

2、安装virtualenvwrapper

pip install virtualenvwrapper

pip install virtualenvwrapper-win  #Windows使用该命令

上述工具装好后,需要执行以下环境变量设置。

3、创建目录用来存放虚拟环境

mkdir $HOME/.virtualenvs

4、在~/.bashrc中添加行:

export WORKON_HOME=$HOME/.virtualenvs

source /usr/bin/virtualenvwrapper.sh

5、运行:

source ~/.bashrc

三、创建python虚拟环境

当你需要使用Python2开发项目时,建立一个Python2的虚拟环境:

$ mkvirtualenv -p /usr/bin/python2.7 env27   # -p参数指定Python解释器程序路径或者--python=/usr/bin/python2.7

当你需要Python3开发时:

$ mkvirtualenv -p /usr/bin/python3.7 env37

然后可以随时切换不同的虚拟环境:

$ workon env27 # 进入Python2环境

$ workon env37 # 进入Python3环境

不仅可以自由切换py2和py3,同一个版本下还可以配置不同的依赖,pip不同的包,来适应不同项目的需求。

更爽的是,你可以在进入虚拟环境的同时切换到项目目录,只需要编辑 $VIRTUAL_ENV/bin/postactivate 这个文件即可:

$ vim $VIRTUAL_ENV/bin/postactivate #前提是已经进入对应的虚拟环境

在文件中添加切换目录的命令:

cd /path/to/your/project

四、退出虚拟环境 离开 deactivate

如果要创建一个不带已经安装到系统的中第三方包的环境,可以加上参数 --no-site-packages,这样就可以得到一个不带任何第三方包的干净的python运行环境

命令为

virtualenv --no-site-packages myenv

随后,可以在这个环境下安装各种第三方包,在venv环境下,用pip安装的包都会安装到这个venv环境下,在python环境中不受影响,也就是说,这个venv环境是针对myvenv这个应用单独创建的,

五、py3.7环境下安装 PyMySQL

#workon py3.7

#pip install  PyMySQL

#python

#import pymysql

切换到py2.7,import会报错,因为 PyMySQL只安装在了py3.7环境中,对于py2.7是不可见的。

相关文章

网友评论

      本文标题:使用virtualenvwrapper创建python虚拟环境

      本文链接:https://www.haomeiwen.com/subject/bmbglctx.html