1.pip安装virtualenvwrapper

  1. [root@localhost ~]# pip install virtualenvwrapper # 安装virtualenvwrapper
  2. [root@localhost ~]# pip list | grep virtualenvwrapper
  3. virtualenvwrapper (4.8.2)

2.配置环境变量

  1. [root@localhost ~]# find / -name virtualenvwrapper.sh # 查找virtualenvwrapper.sh所有的目录
  2. /usr/bin/virtualenvwrapper.sh
  3. [root@localhost ~]# mkdir .virtualenvs # 创建虚拟环境的存放目录
  4. [root@localhost ~]# vi .bashrc # 编辑家目录下的.bashrc文件,在文件末尾添加下面的两行内容
  5. export WORKON_HOME=$HOME/.virtualenvs
  6. source /usr/bin/virtualenvwrapper.sh
  7. [root@localhost ~]# source .bashrc # 重新加载.bashrc文件,使配置立即生效
  8. virtualenvwrapper.user_scripts creating /root/.virtualenvs/premkproject
  9. virtualenvwrapper.user_scripts creating /root/.virtualenvs/postmkproject
  10. virtualenvwrapper.user_scripts creating /root/.virtualenvs/initialize
  11. virtualenvwrapper.user_scripts creating /root/.virtualenvs/premkvirtualenv
  12. virtualenvwrapper.user_scripts creating /root/.virtualenvs/postmkvirtualenv
  13. virtualenvwrapper.user_scripts creating /root/.virtualenvs/prermvirtualenv
  14. virtualenvwrapper.user_scripts creating /root/.virtualenvs/postrmvirtualenv
  15. virtualenvwrapper.user_scripts creating /root/.virtualenvs/predeactivate
  16. virtualenvwrapper.user_scripts creating /root/.virtualenvs/postdeactivate
  17. virtualenvwrapper.user_scripts creating /root/.virtualenvs/preactivate
  18. virtualenvwrapper.user_scripts creating /root/.virtualenvs/postactivate
  19. virtualenvwrapper.user_scripts creating /root/.virtualenvs/get_env_details

3.使用 mkvirtualenv 命令创建虚拟环境

  1. [root@localhost bin]# mkvirtualenv env27 # 创建env27虚拟环境,创建完成后切换到env27虚拟环境
  2. New python executable in /root/.virtualenvs/env27/bin/python2
  3. Also creating executable in /root/.virtualenvs/env27/bin/python
  4. Installing setuptools, pip, wheel...done.
  5. virtualenvwrapper.user_scripts creating /root/.virtualenvs/env27/bin/predeactivate
  6. virtualenvwrapper.user_scripts creating /root/.virtualenvs/env27/bin/postdeactivate
  7. virtualenvwrapper.user_scripts creating /root/.virtualenvs/env27/bin/preactivate
  8. virtualenvwrapper.user_scripts creating /root/.virtualenvs/env27/bin/postactivate
  9. virtualenvwrapper.user_scripts creating /root/.virtualenvs/env27/bin/get_env_details
  10. (env27) [root@localhost bin]# pip list # 列出env27虚拟环境下所有模块
  11. Package Version
  12. ---------- -------
  13. pip 10.0.1
  14. setuptools 40.0.0
  15. wheel 0.31.1
  16. (env27) [root@localhost bin]# python # 进入env27虚拟环境的python解释器
  17. Python 2.7.5 (default, Apr 11 2018, 07:36:10)
  18. [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
  19. Type "help", "copyright", "credits" or "license" for more information.
  20. >>> exit()
  21. (env27) [root@localhost bin]# pip install -i https://pypi.douban.com/simple django==1.11.6 # 在env27虚拟环境中安装1.11.6版本的Django
  22. Looking in indexes: https://pypi.douban.com/simple
  23. Collecting django==1.11.6
  24. Downloading https://pypi.doubanio.com/packages/82/33/f9d2871f3aed5062661711bf91b3ebb03daa52cc0e1c37925f3e0c4508c5/Django-1.11.6-py2.py3-none-any.whl (6.9MB)
  25. 100% |████████████████████████████████| 7.0MB 468kB/s
  26. Collecting pytz (from django==1.11.6)
  27. Downloading https://pypi.doubanio.com/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl (510kB)
  28. 100% |████████████████████████████████| 512kB 521kB/s
  29. Installing collected packages: pytz, django
  30. Successfully installed django-1.11.6 pytz-2018.5
  31. (env27) [root@localhost bin]# pip list # 列出env27虚拟环境下所有模块
  32. Package Version
  33. ---------- -------
  34. Django 1.11.6
  35. pip 10.0.1
  36. pytz 2018.5
  37. setuptools 40.0.0
  38. wheel 0.31.1
  39. (env27) [root@localhost bin]# pip list | grep Django
  40. Django 1.11.6
  41. (env27) [root@localhost bin]# deactivate # 退出env27虚拟环境

4.安装指定python版本的虚拟环境

  1. [root@localhost ~]# mkvirtualenv env36 -p /usr/local/python3/bin/python3.6 # 指定python解释器路径创建env36虚拟环境
  2. Running virtualenv with interpreter /usr/local/python3/bin/python3.6
  3. Using base prefix '/usr/local/python3'
  4. New python executable in /root/.virtualenvs/env36/bin/python3.6
  5. Also creating executable in /root/.virtualenvs/env36/bin/python
  6. Installing setuptools, pip, wheel...done.
  7. virtualenvwrapper.user_scripts creating /root/.virtualenvs/env36/bin/predeactivate
  8. virtualenvwrapper.user_scripts creating /root/.virtualenvs/env36/bin/postdeactivate
  9. virtualenvwrapper.user_scripts creating /root/.virtualenvs/env36/bin/preactivate
  10. virtualenvwrapper.user_scripts creating /root/.virtualenvs/env36/bin/postactivate
  11. virtualenvwrapper.user_scripts creating /root/.virtualenvs/env36/bin/get_env_details
  12. (env36) [root@localhost ~]# python # 打开env36虚拟环境中的python解释器
  13. Python 3.6.5rc1 (default, Jul 12 2018, 22:57:46)
  14. [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
  15. Type "help", "copyright", "credits" or "license" for more information.
  16. >>> exit()
  17. (env36) [root@localhost ~]# pip list # 列出env36虚拟环境下安装的所有模块
  18. Package Version
  19. ---------- -------
  20. pip 10.0.1
  21. setuptools 40.0.0
  22. wheel 0.31.1
  23. (env36) [root@localhost ~]# pip install -i https://pypi.douban.com/simple django # 在env36虚拟环境中安装最新版本的Django:2.0.7
  24. Looking in indexes: https://pypi.douban.com/simple
  25. Collecting django
  26. Downloading https://pypi.doubanio.com/packages/ab/15/cfde97943f0db45e4f999c60b696fbb4df59e82bbccc686770f4e44c9094/Django-2.0.7-py3-none-any.whl (7.1MB)
  27. 100% |████████████████████████████████| 7.1MB 472kB/s
  28. Collecting pytz (from django)
  29. Downloading https://pypi.doubanio.com/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl (510kB)
  30. 100% |████████████████████████████████| 512kB 622kB/s
  31. Installing collected packages: pytz, django
  32. (env36) [root@localhost ~]# pip list # 列出env36虚拟环境下安装的所有模块
  33. Package Version
  34. ---------- -------
  35. Django 2.0.7
  36. pip 10.0.1
  37. pytz 2018.5
  38. setuptools 40.0.0
  39. wheel 0.31.1

也可以使用 --python 指定python解释器的方式创建虚拟环境,完整命令如下:

  1. mkvirtualenv env36 --python /usr/local/python3/bin/python3.6

5.使用 lsvirtualenv 命令列出所有虚拟环境

  1. (env36) [root@localhost ~]# lsvirtualenv -b # 以简短方式列出当前系统中所有的虚拟环境
  2. env27
  3. env36
  4. (env36) [root@localhost ~]# lsvirtualenv -l # 以长格式方式列出当前系统中所有的虚拟环境
  5. env27
  6. =====
  7. env36
  8. =====
  9. (env36) [root@localhost ~]# lsvirtualenv -h # 显示当前命令的帮助信息
  10. lsvirtualenv [-blh]
  11. -b -- brief mode
  12. -l -- long mode
  13. -h -- this help message

6.使用 workon 命令切换虚拟环境

  1. (env36) [root@localhost ~]# deactivate # 退出env36虚拟环境
  2. [root@localhost ~]# workon env27 # 进入env27虚拟环境
  3. (env27) [root@localhost ~]# pip list # 列出env27虚拟环境下安装的所有模块
  4. Package Version
  5. ---------- -------
  6. Django 1.11.6
  7. pip 10.0.1
  8. pytz 2018.5
  9. setuptools 39.1.0
  10. wheel 0.31.1
  11. (env27) [root@localhost ~]# workon env36 # 进入env36虚拟环境
  12. (env36) [root@localhost ~]# pip list # 列出env36虚拟环境下安装的所有模块
  13. Package Version
  14. ---------- -------
  15. Django 2.0.7
  16. pip 10.0.1
  17. pytz 2018.5
  18. setuptools 40.0.0
  19. wheel 0.31.1
  20. (env36) [root@localhost ~]#

7.使用 deactivate 命令注销当前虚拟环境

  1. (env36) [root@localhost ~]# deactivate # 退出env36虚拟环境
  2. [root@localhost ~]# workon env27 # 进入env27虚拟环境
  3. (env27) [root@localhost ~]# python # 打开env27虚拟环境的python解释器
  4. Python 2.7.5 (default, Aug 4 2017, 00:39:18)
  5. [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
  6. Type "help", "copyright", "credits" or "license" for more information.
  7. >>> exit()
  8. (env27) [root@localhost ~]# deactivate # 退出env27虚拟环境
  9. [root@localhost ~]#

8.使用 cpvirtualenv 命令复制虚拟环境

  1. [root@localhost ~]# workon env36 # 进入env36虚拟环境
  2. (env36) [root@localhost ~]# cpvirtualenv env36 env36_bak # 复制env36虚拟环境为env36_bak
  3. Copying env36 as env36_bak...
  4. (env36_bak) [root@localhost ~]# python # 打开env36_bak虚拟环境的python解释器
  5. Python 2.7.5 (default, Aug 4 2017, 00:39:18) # python解释器为2.7.5版本
  6. [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
  7. Type "help", "copyright", "credits" or "license" for more information.
  8. >>> exit()
  9. (env36_bak) [root@localhost ~]# pip list # 列出env36_bak虚拟环境下安装的所有模块
  10. Package Version
  11. ---------- -------
  12. Django 2.0.7
  13. pip 10.0.1
  14. pytz 2018.5
  15. setuptools 40.0.0
  16. wheel 0.31.1
  17. (env36_bak) [root@localhost ~]# cpvirtualenv env27 env27_bak # 复制env27虚拟环境为env27_bak
  18. Copying env27 as env27_bak...
  19. (env27_bak) [root@localhost ~]# python # 打开env27_bak虚拟环境的python解释器
  20. Python 2.7.5 (default, Aug 4 2017, 00:39:18)
  21. [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
  22. Type "help", "copyright", "credits" or "license" for more information.
  23. >>> exit()
  24. (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内容

  1. (env27_bak) [root@localhost ~]# cdsitepackages # 进入到env27_bak虚拟环境的site-packages目录
  2. (env27_bak) [root@localhost site-packages]# lssitepackages # 列出env27_bak虚拟环境中site-packages内容
  3. easy_install.py pip pkg_resources setuptools-40.0.0.dist-info wheel-0.31.1.dist-info
  4. easy_install.pyc pip-10.0.1.dist-info setuptools wheel
  5. (env27_bak) [root@localhost site-packages]# workon env36 # 切换到env36虚拟环境
  6. (env36) [root@localhost site-packages]# cdsitepackages # 进入env36虚拟环境的site-packages目录
  7. (env36) [root@localhost site-packages]# lssitepackages # 列出env36虚拟环境中site-packages内容
  8. django pip-10.0.1.dist-info pytz-2018.5.dist-info wheel-0.31.1.dist-info
  9. Django-2.0.7.dist-info pkg_resources setuptools
  10. easy_install.py __pycache__ setuptools-40.0.0.dist-info
  11. pip pytz wheel
  12. (env36) [root@localhost site-packages]# python # 打开env36虚拟环境的python解释器
  13. Python 3.6.5rc1 (default, Jul 12 2018, 22:57:46)
  14. [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
  15. Type "help", "copyright", "credits" or "license" for more information.
  16. >>> exit()
  17. (env36) [root@localhost site-packages]#

10.使用 rmvirtualenv 命令删除环境

  1. (env36) [root@localhost site-packages]# lsvirtualenv -b # 列出当前系统中所有的虚拟环境
  2. env27_bak
  3. env27
  4. env36_bak
  5. env36
  6. (env36) [root@localhost site-packages]# rmvirtualenv env36_bak # 删除env36_bak虚拟环境
  7. Removing env36_bak...
  8. (env36) [root@localhost site-packages]# rmvirtualenv env27_bak # 删除env27_bak虚拟环境
  9. Removing env27_bak...
  10. (env36) [root@localhost site-packages]# lsvirtualenv -b # 列出当前系统中所有的虚拟环境
  11. env27
  12. env36
  13. (env36) [root@localhost site-packages]#

11.使用 wipeenv 命令卸载虚拟环境内所有第三方包

  1. (env36) [root@localhost site-packages]# pip list # 列出env36虚拟环境下所有模块
  2. Package Version
  3. ---------- -------
  4. Django 2.0.7
  5. pip 10.0.1
  6. pytz 2018.5
  7. setuptools 40.0.0
  8. wheel 0.31.1
  9. (env36) [root@localhost site-packages]# wipeenv # 卸载env36虚拟环境内所有第三方包
  10. Uninstalling packages:
  11. Django==2.0.7
  12. pytz==2018.5
  13. Uninstalling Django-2.0.7:
  14. Successfully uninstalled Django-2.0.7
  15. Uninstalling pytz-2018.5:
  16. Successfully uninstalled pytz-2018.5
  17. (env36) [root@localhost site-packages]# pip list # 列出env36虚拟环境下所有模块
  18. Package Version
  19. ---------- -------
  20. pip 10.0.1
  21. setuptools 40.0.0
  22. wheel 0.31.1
  23. (env36) [root@localhost site-packages]# lsvirtualenv -b # 列出当前系统中所有的虚拟环境
  24. env27
  25. env36
  26. (env36) [root@localhost site-packages]# workon env27 # 切换到env27虚拟环境
  27. (env27) [root@localhost site-packages]# pip list # 列出env27虚拟环境下所有模块
  28. Package Version
  29. ---------- -------
  30. Django 1.11.6
  31. pip 10.0.1
  32. pytz 2018.5
  33. setuptools 39.1.0
  34. wheel 0.31.1
  35. (env27) [root@localhost site-packages]# wipeenv # 卸载env27虚拟环境内所有第三方包
  36. Uninstalling packages:
  37. Django==1.11.6
  38. pytz==2018.5
  39. Uninstalling pytz-2018.5:
  40. Successfully uninstalled pytz-2018.5
  41. Uninstalling Django-1.11.6:
  42. Successfully uninstalled Django-1.11.6
  43. (env27) [root@localhost site-packages]# pip list # 列出env27虚拟环境下所有模块
  44. Package Version
  45. ---------- -------
  46. pip 10.0.1
  47. setuptools 39.1.0
  48. wheel 0.31.1
  49. (env27) [root@localhost site-packages]# deactivate # 退出env27虚拟环境

使用virtualenvwrapper模块管理python虚拟环境的更多相关文章

  1. 使用pipenv管理python虚拟环境

    前言 近期的项目中,我开始尝试着从virtualenv管理python虚拟环境,切换到用pipenv来管理. 经过一段时间的使用,着实觉得pipenv使用的更加顺手,更加的便捷.这当然也延续了 Ken ...

  2. 管理python虚拟环境的工具virtuelenvwrapper

    virtuelenvwrapper出现的原因 virtualenv 的一个最大的缺点就是: ​ 每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就 ...

  3. 用pipenv管理python虚拟环境

    python的虚拟环境可以为项目创建一个独立的环境,能够解决使用不同版本依赖给项目带来冲突的麻烦.创建虚拟环境的方式有很多种,pipenv会自动帮你管理虚拟环境和依赖文件,并且提供了一系列命令和选项来 ...

  4. python虚拟环境四

    python虚拟环境管理器 我们在使用python虚拟环境的时候,最好安装一个虚拟环境管理器,这样我们就能很方便的管理python的 虚拟环境,而python的虚拟环境管理工具包就是virtualen ...

  5. 使用conda管理python环境和包

    操作系统:CentOS7使用virtualenv管理python虚拟环境virtualenv是一款轻量级第三方虚拟环境管理工具,不像Anaconda大小达上百M,virtualenv大小只有10M左右 ...

  6. 第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块

    第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块 virtualenv简介 1.安装virtuale ...

  7. Python虚拟环境 之 virtualenv 与 virtualenvwrapper

           在开发Python应用程序的时候,比如系统安装的Python3只有一个版本:3.6.所有第三方的包都会被 pip 安装到Python3的 site-packages 目录下. 如果我们要 ...

  8. python虚拟环境 -- virtualenv , virtualenvwrapper

    virtualenv -- python虚拟沙盒 有人说:virtualenv.fabric 和 pip 是 pythoneer 的三大神器. 一.安装 pip install virtualenv ...

  9. Pipenv——最好用的python虚拟环境和包管理工具

    pipenv 是Kenneth Reitz大神的作品,能够有效管理Python多个环境,各种包.过去我们一般用virtualenv搭建虚拟环境,管理python版本,但是跨平台的使用不太一致,且有时候 ...

随机推荐

  1. wince单实例启动

    static class Program { [DllImport("Toolhelp.dll")] public static extern IntPtr CreateToolh ...

  2. jQUERY中的属性获取

    jQuery获取Select选择的Text和Value:语法解释:1. $("#select_id").change(function(){//code...});   //为Se ...

  3. min_25筛

    min_25筛 用来干啥? 考虑一个积性函数\(F(x)\),用来快速计算前缀和\[\sum_{i=1}^nF(i)\] 当然,这个积性函数要满足\(F(x),x\in Prime\)可以用多项式表示 ...

  4. 「洛谷3469」「POI2008」BLO-Blockade【Tarjan求割点】

    题目链接 [洛谷传送门] 题解 很显然,当这个点不是割点的时候,答案是\(2*(n-1)\) 如果这个点是割点,那么答案就是两两被分开的联通分量之间求组合数. 代码 #include <bits ...

  5. vue之——从彩笔的进步之路

    因为这个文章开的有点晚,不可能说从头教学vue的使用,所以大概还是记录一下我的学习路线吧: 一开始是想学一个前端框架,最后选择了vue,一开始是看了表严肃的vue课程,b站有,讲的相当好,就算打个小广 ...

  6. BZOJ4259残缺的字符串

    题目描述 很久很久以前,在你刚刚学习字符串匹配的时候,有两个仅包含小写字母的字符串A和B,其中A串长度为m,B串长度为n.可当你现在再次碰到这两个串时,这两个串已经老化了,每个串都有不同程度的残缺. ...

  7. latex 一些使用

    texlive安装 https://blog.csdn.net/qq_38386316/article/details/80272396 管理员权限打开.bat 语言的安装可以减少 texwork 一 ...

  8. vue动态添加对象属性,视图不渲染

    发现数据确实改变了.但是视图没有渲染.原因是赋值的问题,应该这样动态增加属性 vm.$set(vm.template.titleAttachInfoDetail,newKey,newVal) vm 当 ...

  9. Entity Framework入门教程(12)--- EF进行批量添加/删除

    EF6添加了批量添加/删除实体集合的方法,我们可以使用DbSet.AddRange()方法将实体集合添加到上下文,同时实体集合中的每一个实体的状态都标记为Added,在执行SaveChange()方法 ...

  10. MVCC 能解决幻读吗?

    MySQL通过MVCC(解决读写并发问题)和间隙锁(解决写写并发问题)来解决幻读 MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ). 未提交读(REA ...