使用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版本,但是跨平台的使用不太一致,且有时候 ...
随机推荐
- React项目搭建与部署
React项目搭建与部署 一,介绍与需求 1.1,介绍 1.1.1,React简介 React 是一个用于构建用户界面的 JAVASCRIPT 库. React主要用于构建UI,很多人认为 React ...
- nginx中的epoll模型
要了解epoll模型,就要一个一个知识点由浅至深地去探索. 1.IO复用技术 IO流请求操作系统内核,有串行处理和并行处理两种概念. 串行处理是前面一个操作处理地时候,后面的所有操作都需要等待.因此, ...
- ABP中的模块初始化过程(一)
在总结完整个ABP项目的结构之后,我们就来看一看ABP中这些主要的模块是按照怎样的顺序进行加载的,在加载的过程中我们会一步步分析源代码来进行解释,从而使自己对于整个框架有一个清晰的脉络,在整个Asp. ...
- Navicat for MySQL 安装和破解
1 下载 navicat_trial_11.1.20.0.1449226634.exe .PatchNavicat.exe 2 安装 navicat 3 打开 patchnavicat-选择 安装文件 ...
- vue生命週期
https://www.cnblogs.com/fly_dragon/p/6220273.html https://www.cnblogs.com/fly_dragon/p/6220273.html
- Andriod App类型简介
App三种类型与区别 原生应用程序:(Native App) 原生APP是什么?原生APP就是利用Android.iOS平台官方的开发语言.开发类库.工具进行开发.比如安卓的java语言,iOS的ob ...
- [模板] 动态树/LCT
简介 LCT是一种数据结构, 可以维护树的动态加边, 删边, 维护链上信息(满足结合律), 单次操作时间复杂度 \(O(\log n)\).(不会证) 思想类似树链剖分, 因为splay可以换根, 用 ...
- 进程Process之join、daemon(守护)、terminate(关闭)、multiprocessing之锁、信号量和事件
一.Process 参数介绍: 1 group参数未使用,值始终为None 2 target表示调用对象,即子进程要执行的任务 3 args表示调用对象的位置参数元组,args=(1,2,'a',) ...
- LoadRunner【第三篇】录制脚本实践:订票网站
启动服务 安装好loadrunner,我们就可以实践了. loadrunner自带订票网站,可以方便我们练习, 先把下面两个发送到桌面快捷方式 首先,启动服务,点击下面图标(如果服务无法启动,检查端口 ...
- MySQL防止库存超卖方法总结
订单超卖问题是涉及到库存项目的重中之重,这里我总结一下常用的方法 1.简单处理[update & select 合并](乐观锁) beginTranse(开启事务)$num = 1; try{ ...