1 问题

  当我们拥有两个甚至多个项目A、B、C......,各个项目正常运行需求的python运行环境都不相同。而默认情况下,不管哪个项目,使用的都是全局的Python环境。上述情况,造成的问题就是,A、B、C等项目,只能运行一个;如果运行另一个,必须安装与之匹配的库版本。

2 解决思路

  创建一个完全独立的局部python环境(或叫做虚拟环境)。在此环境中,安装所有与某个项目相匹配库即可。总之,一个项目,使用一个虚拟环境;互相之间,没有干扰。

3  具体解决步骤

  3.1  安装第三方包virtualenv

    当电脑里面有多个版本的python的时,可以指定版本来进行安装。代码见下:

      pip install virtualenv

      或者

      python3 -m pip install virtualenv

   

  3.2 virtualenv的简单应用

    3.2.1 创建一个局部的隔离的虚拟环境

     打开命令提示符,cd进入到项目myproject(必须根据自己的项目进行修改)所在路径,创建项目myproject的虚拟环境。

      (1) 语法
        virtualenv 虚拟环境名称
        例如:virtualenv ENV
      (2) 可选参数

      (i) -p :指明Python版本创建,到时候就使用此版本的解释器,默认是你安装viretual 包的时候,用的python解释器
      例如:virtualenv -p  C:\Python27\python.exe ENV
      (ii) --system-site-packages:继承系统的三方库。到时候,检索库的时候,也会到系统的三方库中查找,如果不加此项,到时候只会在当前的虚拟环境中找
      例如:virtualenv --system-site-packages ENV

     创建完成后,会在myproject文件夹下自动生成一个ENV文件夹,效果见下图:

    ENV文件夹里面的内容见下图:

    

    3.2.2 激活虚拟环境
      (1) 语法
        打开命令提示符,进入到虚拟环境目录/scripts文件夹中,输入activate.bat
      (2) 界面效果

    

      (3) 作用效果
        在环境的激活状态,后续所有的操作都是基于这个虚拟的Python环境包的安装和卸载。代码的执行,比如:pip install 包名(如requests)
      如果不激活创建的虚拟环境,到时候会被安装在全局Python环境中。激活后,则会安装在虚拟环境中。

    3.2.3 在激活状态下的操作
      操作三方库、执行py文件等等
      注意:以上所有操作,均作用在被激活的虚拟环境中

    3.2.4 退出虚拟环境
      (1) 语法
        进入到虚拟环境目录/scripts文件夹中,输入命令deactivate.bat
      (2) 界面效果
    

      (3) 作用效果
        
退出后,所有后续操作,又会再次的作用于全局的Python环境中
    
3.2.5 删除虚拟环境

      直接把项目文件目录下的ENV文件夹删除即可。

  更多使用命令见官网:https://virtualenv.pypa.io/en/latest/userguide/

4 补充
  
以后把项目给别人的时候,就可以连同虚拟环境和项目一起拷贝给别人。但是当虚拟环境非常大的时候,这种方法显然不实际。这就需要用到另一种方法了。
即在虚拟环境中,冻结依赖需求文本,把项目和依赖需求文本给别人。

python——虚拟环境之virtualenv(windows10,64位)的更多相关文章

  1. python——python3.6环境搭建(Windows10,64位)

    1.python软件资源下载 1.1 打开python官网地址:https://www.python.org 1.2 根据自己电脑的设置选择下载合适的python3.6.2 1.3 此处选择windo ...

  2. Windows10 64位部署odoo12开发环境

    预装Windows10 64位家庭版电脑一台 2019年7月 安装Python,这里的版本选择上有个坑,不要装最新的Python 3.7.x,原因是odoo12依赖pillow 4.0.0库,而这个4 ...

  3. Windows10 64位下安装TensorFlow谷歌人工智能系统已官方原生支持

    Windows10 64位下安装TensorFlow谷歌人工智能系统已官方原生支持 GitHub - tensorflow/tensorflow: Computation using data flo ...

  4. (zhuan)Python 虚拟环境:Virtualenv

    Python 虚拟环境:Virtualenv zhuanzi: http://liuzhijun.iteye.com/blog/1872241 virtualenv virtualenv用于创建独立的 ...

  5. [转]windows10 64位环境下安装mysql5.7.17

    今天以zip模式在windows10 64位环境下安装mysql5.7,到最后一步提示mysql服务无法启动. 安装步骤如下: 1.配置环境变量 我的电脑->属性->高级->环境变量 ...

  6. Windows10 64位 安装 Docker

    本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windows10 64位. Docker引擎 ...

  7. Windows10 64位安装DB2数据库

    安装前准备 : 系统:Windows10 64位 DB2 v9.5下载地址(迅雷):http://big3.ddooo.com/db2_93661.rar 选择安装包解压位置,并复制记住: 去到解压的 ...

  8. Windows10 64位解决无法使用Microsoft.Jet.OLEDB.4.0的方法

    本机软件环境:Windows10 64位+Office2003 (32位) ============================================= 1.下载 ACE2010的驱动, ...

  9. 2 pygraphviz在windows10 64位下的安装问题(反斜杠的血案)

    可以负责任的说,这篇文档是windows10安装pygraphviz中,在中文技术网站中最新的文档,没有之一.是自己完全结合各种问题,包括调试等,总结出来的. 问题来源:主要是可视化RvNN网络的树结 ...

  10. python 虚拟环境操作 virtualenv +virtualenvwrapper

    Window 下创建python的虚拟环境 下载工具 pip install virtualenv 创建虚拟环境目录 # 注意此命令创建的虚拟环境目录是在当前目录下 virtualenv testen ...

随机推荐

  1. Linux编程 5 (目录重命名与移动mv,删除文件rm,目录创建mkdir删除rmdir,查看file,cat,more,tail,head)

    一. 文件重命名与移动(mv) 在linux中,重命名文件称为移动(moving).mv命令可以将文件和目录移动到另一个位置或重新命名. 1.1 使用mv重命名 下面在/usr/local下面创建一个 ...

  2. 使用Spring Boot开发 “Hello World” Web应用

    环境准备 由于现在很多IDE都支持Maven, 所以我们将使用Maven构建该工程: 开始之前,需要先安装Java和Maven: 本工程将基于Spring Boot 1.4.3.RELEASE开发,推 ...

  3. 《Kubernetes权威指南》——组件原理

    1 API Server 1.1 提供集群管理的API接口 API Server在kubernetes中的进程名为apiserver,运行在Master节点上 apiserver开放两个端口 本地端口 ...

  4. POJ 1724 ROADS(使用邻接表和优先队列的BFS求解最短路问题)

    题目链接: https://cn.vjudge.net/problem/POJ-1724 N cities named with numbers 1 ... N are connected with ...

  5. typeof() 和 GetType()区是什么

    1.typeof(x)中的x,必须是具体的类名.类型名称等,不可以是变量名称. 2.GetType()方法继承自Object,所以C#中任何对象都具有GetType()方法,它的作用和typeof() ...

  6. jquery实现文本框click清空文本内容

    原先的样子 点击之后 如果没有输入内容则还原 否则为最新输入 实现代码 test.html <script src="https://code.jquery.com/jquery-3. ...

  7. HDU3567

    Eight II Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 130000/65536 K (Java/Others)Total S ...

  8. HDU6216

    A Cubic number and A Cubic Number Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65535/3276 ...

  9. 用CSS控制DIV居中失效的解决方法

    1.一般情况下DIV居中失效是因为没写DTD语句 在页面的最上方加上: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...

  10. JS数组迭代方法

    先说 every()和 some(),它们都用于查询数组中的项是否满足某个条件. every(): var numbers = [1,2,3,4,5,4,3,2,1]; var everyResult ...