使用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版本,但是跨平台的使用不太一致,且有时候 ...
随机推荐
- Insertion Sort 与 Merge Sort的性能比较(Java)
public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextI ...
- Python 执行 shellcode
import urllib2 import ctypes import base64 # 从我们的web服务器上下载shellcode url = "http://rinige.com/sh ...
- mysql 5.7 json
项目中使用的mysql5.6数据库,数据库表一张表中存的字段为blob类型的json串数据.性能压测中涉及该json串处理效率比较低,开发人员提到mysql5.7版本后json串提供了原生态的json ...
- nginx.conf配置详解
######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...
- 动态生成table 列
table.render({ elem: '#test-table-comelist' ,url: layui.setter.base + 'list/comelist' ,cols: [[]] ,d ...
- Vue实现tab选项卡
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 有关swiper动态改变数据遇到的坑(不能自动滚动,自动跟新数据,切换不正常)
以前都觉得swiper的使用很简单,那是因为使用swiper时都是写的数据,按照官网上介绍直接初始化swiper,随便丢一个地方初始化就ok了,但是在很多需求中,我们都需要动态的改变数据,这样可能就会 ...
- mpvue——引入echarts打包vendor过大
前言 有一个项目需要引入图表,当时有两种选择一种是mpvue-echarts,一种是F2,而我经过踩坑之后依然决然的选择了mpvue-echarts,简单快捷容易上手,主要之前用过比较熟悉. 问题 | ...
- Magento 2 创建 Widget
Widget是一个更好的工具,可以将内容插入或编辑到CMS页面块或页面中. 什么是小部件? 小部件是Magento 2配置中的强大功能.作为商店管理员,您可以利用小部件来改善生动界面下的店面.小部件允 ...
- 【BZOJ5506】[GXOI/GZOI2019]旅行者(最短路)
[BZOJ5506][GXOI/GZOI2019]旅行者(最短路) 题面 BZOJ 洛谷 题解 正着做一遍\(dij\)求出最短路径以及从谁转移过来的,反过来做一遍,如果两个点不由同一个点转移过来就更 ...