使用virtualenvwrapper模块管理python虚拟环境
1.pip安装virtualenvwrapper
[root@localhost ~]# pip install virtualenvwrapper # 安装virtualenvwrapper
[root@localhost ~]# pip list | grep virtualenvwrapper
virtualenvwrapper (4.8.2)
2.配置环境变量
[root@localhost ~]# find / -name virtualenvwrapper.sh # 查找virtualenvwrapper.sh所有的目录
/usr/bin/virtualenvwrapper.sh
[root@localhost ~]# mkdir .virtualenvs # 创建虚拟环境的存放目录
[root@localhost ~]# vi .bashrc # 编辑家目录下的.bashrc文件,在文件末尾添加下面的两行内容
export WORKON_HOME=$HOME/.virtualenvs
source /usr/bin/virtualenvwrapper.sh
[root@localhost ~]# source .bashrc # 重新加载.bashrc文件,使配置立即生效
virtualenvwrapper.user_scripts creating /root/.virtualenvs/premkproject
virtualenvwrapper.user_scripts creating /root/.virtualenvs/postmkproject
virtualenvwrapper.user_scripts creating /root/.virtualenvs/initialize
virtualenvwrapper.user_scripts creating /root/.virtualenvs/premkvirtualenv
virtualenvwrapper.user_scripts creating /root/.virtualenvs/postmkvirtualenv
virtualenvwrapper.user_scripts creating /root/.virtualenvs/prermvirtualenv
virtualenvwrapper.user_scripts creating /root/.virtualenvs/postrmvirtualenv
virtualenvwrapper.user_scripts creating /root/.virtualenvs/predeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/postdeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/get_env_details
3.使用 mkvirtualenv 命令创建虚拟环境
[root@localhost bin]# mkvirtualenv env27 # 创建env27虚拟环境,创建完成后切换到env27虚拟环境
New python executable in /root/.virtualenvs/env27/bin/python2
Also creating executable in /root/.virtualenvs/env27/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /root/.virtualenvs/env27/bin/predeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/env27/bin/postdeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/env27/bin/preactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/env27/bin/postactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/env27/bin/get_env_details
(env27) [root@localhost bin]# pip list # 列出env27虚拟环境下所有模块
Package Version
---------- -------
pip 10.0.1
setuptools 40.0.0
wheel 0.31.1
(env27) [root@localhost bin]# python # 进入env27虚拟环境的python解释器
Python 2.7.5 (default, Apr 11 2018, 07:36:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(env27) [root@localhost bin]# pip install -i https://pypi.douban.com/simple django==1.11.6 # 在env27虚拟环境中安装1.11.6版本的Django
Looking in indexes: https://pypi.douban.com/simple
Collecting django==1.11.6
Downloading https://pypi.doubanio.com/packages/82/33/f9d2871f3aed5062661711bf91b3ebb03daa52cc0e1c37925f3e0c4508c5/Django-1.11.6-py2.py3-none-any.whl (6.9MB)
100% |████████████████████████████████| 7.0MB 468kB/s
Collecting pytz (from django==1.11.6)
Downloading https://pypi.doubanio.com/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl (510kB)
100% |████████████████████████████████| 512kB 521kB/s
Installing collected packages: pytz, django
Successfully installed django-1.11.6 pytz-2018.5
(env27) [root@localhost bin]# pip list # 列出env27虚拟环境下所有模块
Package Version
---------- -------
Django 1.11.6
pip 10.0.1
pytz 2018.5
setuptools 40.0.0
wheel 0.31.1
(env27) [root@localhost bin]# pip list | grep Django
Django 1.11.6
(env27) [root@localhost bin]# deactivate # 退出env27虚拟环境
4.安装指定python版本的虚拟环境
[root@localhost ~]# mkvirtualenv env36 -p /usr/local/python3/bin/python3.6 # 指定python解释器路径创建env36虚拟环境
Running virtualenv with interpreter /usr/local/python3/bin/python3.6
Using base prefix '/usr/local/python3'
New python executable in /root/.virtualenvs/env36/bin/python3.6
Also creating executable in /root/.virtualenvs/env36/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /root/.virtualenvs/env36/bin/predeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/env36/bin/postdeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/env36/bin/preactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/env36/bin/postactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/env36/bin/get_env_details
(env36) [root@localhost ~]# python # 打开env36虚拟环境中的python解释器
Python 3.6.5rc1 (default, Jul 12 2018, 22:57:46)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(env36) [root@localhost ~]# pip list # 列出env36虚拟环境下安装的所有模块
Package Version
---------- -------
pip 10.0.1
setuptools 40.0.0
wheel 0.31.1
(env36) [root@localhost ~]# pip install -i https://pypi.douban.com/simple django # 在env36虚拟环境中安装最新版本的Django:2.0.7
Looking in indexes: https://pypi.douban.com/simple
Collecting django
Downloading https://pypi.doubanio.com/packages/ab/15/cfde97943f0db45e4f999c60b696fbb4df59e82bbccc686770f4e44c9094/Django-2.0.7-py3-none-any.whl (7.1MB)
100% |████████████████████████████████| 7.1MB 472kB/s
Collecting pytz (from django)
Downloading https://pypi.doubanio.com/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl (510kB)
100% |████████████████████████████████| 512kB 622kB/s
Installing collected packages: pytz, django
(env36) [root@localhost ~]# pip list # 列出env36虚拟环境下安装的所有模块
Package Version
---------- -------
Django 2.0.7
pip 10.0.1
pytz 2018.5
setuptools 40.0.0
wheel 0.31.1
也可以使用 --python 指定python解释器的方式创建虚拟环境,完整命令如下:
mkvirtualenv env36 --python /usr/local/python3/bin/python3.6
5.使用 lsvirtualenv 命令列出所有虚拟环境
(env36) [root@localhost ~]# lsvirtualenv -b # 以简短方式列出当前系统中所有的虚拟环境
env27
env36
(env36) [root@localhost ~]# lsvirtualenv -l # 以长格式方式列出当前系统中所有的虚拟环境
env27
=====
env36
=====
(env36) [root@localhost ~]# lsvirtualenv -h # 显示当前命令的帮助信息
lsvirtualenv [-blh]
-b -- brief mode
-l -- long mode
-h -- this help message
6.使用 workon 命令切换虚拟环境
(env36) [root@localhost ~]# deactivate # 退出env36虚拟环境
[root@localhost ~]# workon env27 # 进入env27虚拟环境
(env27) [root@localhost ~]# pip list # 列出env27虚拟环境下安装的所有模块
Package Version
---------- -------
Django 1.11.6
pip 10.0.1
pytz 2018.5
setuptools 39.1.0
wheel 0.31.1
(env27) [root@localhost ~]# workon env36 # 进入env36虚拟环境
(env36) [root@localhost ~]# pip list # 列出env36虚拟环境下安装的所有模块
Package Version
---------- -------
Django 2.0.7
pip 10.0.1
pytz 2018.5
setuptools 40.0.0
wheel 0.31.1
(env36) [root@localhost ~]#
7.使用 deactivate 命令注销当前虚拟环境
(env36) [root@localhost ~]# deactivate # 退出env36虚拟环境
[root@localhost ~]# workon env27 # 进入env27虚拟环境
(env27) [root@localhost ~]# python # 打开env27虚拟环境的python解释器
Python 2.7.5 (default, Aug 4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(env27) [root@localhost ~]# deactivate # 退出env27虚拟环境
[root@localhost ~]#
8.使用 cpvirtualenv 命令复制虚拟环境
[root@localhost ~]# workon env36 # 进入env36虚拟环境
(env36) [root@localhost ~]# cpvirtualenv env36 env36_bak # 复制env36虚拟环境为env36_bak
Copying env36 as env36_bak...
(env36_bak) [root@localhost ~]# python # 打开env36_bak虚拟环境的python解释器
Python 2.7.5 (default, Aug 4 2017, 00:39:18) # python解释器为2.7.5版本
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(env36_bak) [root@localhost ~]# pip list # 列出env36_bak虚拟环境下安装的所有模块
Package Version
---------- -------
Django 2.0.7
pip 10.0.1
pytz 2018.5
setuptools 40.0.0
wheel 0.31.1
(env36_bak) [root@localhost ~]# cpvirtualenv env27 env27_bak # 复制env27虚拟环境为env27_bak
Copying env27 as env27_bak...
(env27_bak) [root@localhost ~]# python # 打开env27_bak虚拟环境的python解释器
Python 2.7.5 (default, Aug 4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(env27_bak) [root@localhost ~]#
在上面的命令结果里,使用cpvirtualenv命令复制得到新的虚拟环境env36_bak,python解释器版本为python2.7.5,是CentOS7系统内置的python版本
但是使用pip list命令列出env36_bak虚拟环境里安装的Django是2.0.7版本的,这是env36虚拟环境里安装的Django版本。
通过查阅官方文档,官方文档上指明了cpvirtualenv命令不完美,使用cpvirtualenv命令需要注意

9.使用 cdsitepackages 命令进入到当前环境的site-packages目录
使用lssitepackages命令列出当前环境中site-packages内容
(env27_bak) [root@localhost ~]# cdsitepackages # 进入到env27_bak虚拟环境的site-packages目录
(env27_bak) [root@localhost site-packages]# lssitepackages # 列出env27_bak虚拟环境中site-packages内容
easy_install.py pip pkg_resources setuptools-40.0.0.dist-info wheel-0.31.1.dist-info
easy_install.pyc pip-10.0.1.dist-info setuptools wheel
(env27_bak) [root@localhost site-packages]# workon env36 # 切换到env36虚拟环境
(env36) [root@localhost site-packages]# cdsitepackages # 进入env36虚拟环境的site-packages目录
(env36) [root@localhost site-packages]# lssitepackages # 列出env36虚拟环境中site-packages内容
django pip-10.0.1.dist-info pytz-2018.5.dist-info wheel-0.31.1.dist-info
Django-2.0.7.dist-info pkg_resources setuptools
easy_install.py __pycache__ setuptools-40.0.0.dist-info
pip pytz wheel
(env36) [root@localhost site-packages]# python # 打开env36虚拟环境的python解释器
Python 3.6.5rc1 (default, Jul 12 2018, 22:57:46)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(env36) [root@localhost site-packages]#
10.使用 rmvirtualenv 命令删除环境
(env36) [root@localhost site-packages]# lsvirtualenv -b # 列出当前系统中所有的虚拟环境
env27_bak
env27
env36_bak
env36
(env36) [root@localhost site-packages]# rmvirtualenv env36_bak # 删除env36_bak虚拟环境
Removing env36_bak...
(env36) [root@localhost site-packages]# rmvirtualenv env27_bak # 删除env27_bak虚拟环境
Removing env27_bak...
(env36) [root@localhost site-packages]# lsvirtualenv -b # 列出当前系统中所有的虚拟环境
env27
env36
(env36) [root@localhost site-packages]#
11.使用 wipeenv 命令卸载虚拟环境内所有第三方包
(env36) [root@localhost site-packages]# pip list # 列出env36虚拟环境下所有模块
Package Version
---------- -------
Django 2.0.7
pip 10.0.1
pytz 2018.5
setuptools 40.0.0
wheel 0.31.1
(env36) [root@localhost site-packages]# wipeenv # 卸载env36虚拟环境内所有第三方包
Uninstalling packages:
Django==2.0.7
pytz==2018.5
Uninstalling Django-2.0.7:
Successfully uninstalled Django-2.0.7
Uninstalling pytz-2018.5:
Successfully uninstalled pytz-2018.5
(env36) [root@localhost site-packages]# pip list # 列出env36虚拟环境下所有模块
Package Version
---------- -------
pip 10.0.1
setuptools 40.0.0
wheel 0.31.1
(env36) [root@localhost site-packages]# lsvirtualenv -b # 列出当前系统中所有的虚拟环境
env27
env36
(env36) [root@localhost site-packages]# workon env27 # 切换到env27虚拟环境
(env27) [root@localhost site-packages]# pip list # 列出env27虚拟环境下所有模块
Package Version
---------- -------
Django 1.11.6
pip 10.0.1
pytz 2018.5
setuptools 39.1.0
wheel 0.31.1
(env27) [root@localhost site-packages]# wipeenv # 卸载env27虚拟环境内所有第三方包
Uninstalling packages:
Django==1.11.6
pytz==2018.5
Uninstalling pytz-2018.5:
Successfully uninstalled pytz-2018.5
Uninstalling Django-1.11.6:
Successfully uninstalled Django-1.11.6
(env27) [root@localhost site-packages]# pip list # 列出env27虚拟环境下所有模块
Package Version
---------- -------
pip 10.0.1
setuptools 39.1.0
wheel 0.31.1
(env27) [root@localhost site-packages]# deactivate # 退出env27虚拟环境
使用virtualenvwrapper模块管理python虚拟环境的更多相关文章
- 使用pipenv管理python虚拟环境
前言 近期的项目中,我开始尝试着从virtualenv管理python虚拟环境,切换到用pipenv来管理. 经过一段时间的使用,着实觉得pipenv使用的更加顺手,更加的便捷.这当然也延续了 Ken ...
- 管理python虚拟环境的工具virtuelenvwrapper
virtuelenvwrapper出现的原因 virtualenv 的一个最大的缺点就是: 每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就 ...
- 用pipenv管理python虚拟环境
python的虚拟环境可以为项目创建一个独立的环境,能够解决使用不同版本依赖给项目带来冲突的麻烦.创建虚拟环境的方式有很多种,pipenv会自动帮你管理虚拟环境和依赖文件,并且提供了一系列命令和选项来 ...
- python虚拟环境四
python虚拟环境管理器 我们在使用python虚拟环境的时候,最好安装一个虚拟环境管理器,这样我们就能很方便的管理python的 虚拟环境,而python的虚拟环境管理工具包就是virtualen ...
- 使用conda管理python环境和包
操作系统:CentOS7使用virtualenv管理python虚拟环境virtualenv是一款轻量级第三方虚拟环境管理工具,不像Anaconda大小达上百M,virtualenv大小只有10M左右 ...
- 第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块
第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块 virtualenv简介 1.安装virtuale ...
- Python虚拟环境 之 virtualenv 与 virtualenvwrapper
在开发Python应用程序的时候,比如系统安装的Python3只有一个版本:3.6.所有第三方的包都会被 pip 安装到Python3的 site-packages 目录下. 如果我们要 ...
- python虚拟环境 -- virtualenv , virtualenvwrapper
virtualenv -- python虚拟沙盒 有人说:virtualenv.fabric 和 pip 是 pythoneer 的三大神器. 一.安装 pip install virtualenv ...
- Pipenv——最好用的python虚拟环境和包管理工具
pipenv 是Kenneth Reitz大神的作品,能够有效管理Python多个环境,各种包.过去我们一般用virtualenv搭建虚拟环境,管理python版本,但是跨平台的使用不太一致,且有时候 ...
随机推荐
- 一段c++代码实现睡眠功能
#ifdef ACL_UNIX struct timeval tv; tv.tv_sec = delay / 1000; tv.tv_usec = (suseconds_t) (delay - tv. ...
- 软件工程(FZU2015) 赛季得分榜,第八回合
SE_FZU目录:1 2 3 4 5 6 7 8 9 10 11 12 13 积分规则 积分制: 作业为10分制,练习为3分制:alpha30分: 团队项目分=团队得分+个人贡献分 个人贡献分: 个人 ...
- xadmin在Django 1.11中的使用及中英文切换
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com xadmin是一个强大的替代django admin的管理后台,github地址为:https://g ...
- java 11 局部变量类型推断
什么是局部变量类型推断? var javastack = "javastack"; System.out.println(javastack); 大家看出来了,局部变量类型推断就是 ...
- secureCRT自动断开的解决方法
转: secureCRT自动断开的解决方法 secureCRT自动断开的解决方法 在secureCRT上登录时,一段时间不用的话会自动断开,必须重新连接,有点麻烦. 有时候服务器端的 /etc/pro ...
- hotplug/mdev机制
目录 hotplug/mdev机制 框架 kobject_uevent_env mdev_main make_device mdev.conf 配置文件学习 更改属性 @:创建设备节点之后执行命令 $ ...
- 【asp.net】asp.net遍历Request的信息
#需求: 在服务端获取从客户端发送过来的所有数据信息: #方案: 1.服务端代码 public void ProcessRequest(HttpContext context) { //打印所有参数信 ...
- 金融量化分析【day112】:双均线策略
一.双均线策略 1.什么是双均线策略? 2.实现代码 def initialize(context): set_benchmark('601318.XSHG') set_option('use_rea ...
- Docker:企业级私有仓库harbor[十六]
一.安装配置 1.下载安装包 链接:https://pan.baidu.com/s/1Z9I7zYXSt-8ve3lFT2YCeg 提取码:iuqj 2.安装docker和docker-compose ...
- SpringCloud笔记三:Eureka服务注册与发现
目录 什么是Eureka? Eureka注册的三大步 第一步,引用Maven 第二步,配置yml 第三步,开启Eureka注解 新建Eureka子项目 把provider子项目变成服务端 Eureka ...