使用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版本,但是跨平台的使用不太一致,且有时候 ...
随机推荐
- wince单实例启动
static class Program { [DllImport("Toolhelp.dll")] public static extern IntPtr CreateToolh ...
- jQUERY中的属性获取
jQuery获取Select选择的Text和Value:语法解释:1. $("#select_id").change(function(){//code...}); //为Se ...
- min_25筛
min_25筛 用来干啥? 考虑一个积性函数\(F(x)\),用来快速计算前缀和\[\sum_{i=1}^nF(i)\] 当然,这个积性函数要满足\(F(x),x\in Prime\)可以用多项式表示 ...
- 「洛谷3469」「POI2008」BLO-Blockade【Tarjan求割点】
题目链接 [洛谷传送门] 题解 很显然,当这个点不是割点的时候,答案是\(2*(n-1)\) 如果这个点是割点,那么答案就是两两被分开的联通分量之间求组合数. 代码 #include <bits ...
- vue之——从彩笔的进步之路
因为这个文章开的有点晚,不可能说从头教学vue的使用,所以大概还是记录一下我的学习路线吧: 一开始是想学一个前端框架,最后选择了vue,一开始是看了表严肃的vue课程,b站有,讲的相当好,就算打个小广 ...
- BZOJ4259残缺的字符串
题目描述 很久很久以前,在你刚刚学习字符串匹配的时候,有两个仅包含小写字母的字符串A和B,其中A串长度为m,B串长度为n.可当你现在再次碰到这两个串时,这两个串已经老化了,每个串都有不同程度的残缺. ...
- latex 一些使用
texlive安装 https://blog.csdn.net/qq_38386316/article/details/80272396 管理员权限打开.bat 语言的安装可以减少 texwork 一 ...
- vue动态添加对象属性,视图不渲染
发现数据确实改变了.但是视图没有渲染.原因是赋值的问题,应该这样动态增加属性 vm.$set(vm.template.titleAttachInfoDetail,newKey,newVal) vm 当 ...
- Entity Framework入门教程(12)--- EF进行批量添加/删除
EF6添加了批量添加/删除实体集合的方法,我们可以使用DbSet.AddRange()方法将实体集合添加到上下文,同时实体集合中的每一个实体的状态都标记为Added,在执行SaveChange()方法 ...
- MVCC 能解决幻读吗?
MySQL通过MVCC(解决读写并发问题)和间隙锁(解决写写并发问题)来解决幻读 MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ). 未提交读(REA ...