笔记-python-多环境-virtualenv

1.      多环境

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

如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。

在单个项目开发时没什么问题,但在多项目同时开发时可能会带来意想不到的一些问题,因此希望每一个项目有单独的环境和包路径。

多环境一般有两个层面:

  1. 项目文件独立:每个项目的依赖包是不同的,希望将本项目的依赖包放到本项目路径下;
  2. 编译器独立:可能会在不同的项目中使用不同的编译器版本,比如python2和3。

这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。

2.      virtualenv

其原理是将系统相关变量改变,在退出后改回来。

2.1.    install

首先,用pip安装virtualenv:

pip3 install virtualenv

2.2.    创建虚拟环境

cd e:\python\vir\p1

virtalenv –no-site-packages venv

这时,虚拟环境创建完成,默认自动进入虚拟环境。

在路径下出现了一个venv目录,其中文件如下图所示:

scripts目录中包含python解释器文件及virtualenv环境控制命令文件。

lib则是包安装路径。

回看命令行,这时应该是这个样子的,代表进入了虚拟环境。

更多验证测试:

import sys

sys.executable

输出的编译器路径应该指向vir\scripts\python.exe

pip install lxml

可以在venv\Lib\site-packages下找到相关包文件。

2.3.    更多使用

  1. 激活虚拟环境:

win .\venv\Scripts\activate

linux source ./venv/bin/activate

  1. 关闭虚拟环境:

win .\venv\Scrapts\deactivate.bat

linux ./venv/bin/deactivate

奇怪的是linux下并没有该文件,但官方文档中也说这个命令可以退出。

后来使用exit退出,看了下文件,它大概相当于退出了一个ps。

  1. 常用命令参数

-p PYTHON_EXE,--python=PYTHON_EXE 指定编译器。

--no-site-packages 不拷贝第三方包。

--system-site-packages

2.4.    其它问题

  1. linux下virtualenv不能执行。

注意环境变量有没有该命令的路径,也可以使用全路径。

/usr/local/…../virtualenv

笔记-python-多环境-virtualenv的更多相关文章

  1. python笔记41-虚拟环境virtualenv

    前言 如果你是一个python初学者,我是不建议你搞python虚拟环境的,我看到很多python的初学者同学,使用最新版的pycharm,新建一个工程时候默认就是venu虚拟环境. 然后在使用cmd ...

  2. python独立环境——virtualenv

    安装: pip3 intall virtualenv   创建独立运行环境: 1. 进入项目文件夹根目录 2. 创建环境 Mac:myproject michael$ virtualenv --no- ...

  3. Python 隔离环境 virtualenv

    1) 安装 $ sudo pip3 install virtualenv 2) 创建并进入工程目录,例如 myproject $ mkdir myproject $ cd myproject 3) 在 ...

  4. python独立环境virtualenv(并在pycharm中指定)

    上篇文章中讲到 Django 如何启动以及配置 sessions 功能.sessions 功能用是跟踪用户的状态,经常结合 Cookie 功能实现自动登录功能. 所谓的“自动登录”指的是:我们登录一些 ...

  5. Python学习笔记(四十三)virtualenv (创建一套“隔离”的Python运行环境)

    摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432712108 ...

  6. 在sublimetext上打造一个兼容virtualenv的web&python开发环境

    利用Sublimetext3&virtualenv 打造一个Web&Python IDE 注: 环境:window|python3;以下使用的sublimetext插件均用packag ...

  7. 用 virtualenv 创建隔离的 Python 运行环境

    以 Ubuntu 14.04 系统为例,安装的 Python 和 Python3 分别是 2.7.6 和 3.4.3, 但有些项目,有些模块要求特定的 Python 版本.而当前系统默认的 Pytho ...

  8. 使用virtualenv为应用提供了隔离的Python运行环境

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

  9. python的沙盒环境--virtualenv

      VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装. 使用 VirtualEnv 的理由: 隔离项目之间 ...

随机推荐

  1. sublime介绍常用插件和快捷键

    简介 Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来的,它最初被设计为一个具有丰富扩展功能的Vim. 是一个跨平台的编辑器,同时支持Windows.Linux.M ...

  2. Linux 下, 安装Android Studio

    Download the Android Package of Linux from Android Studio, android-studio-bundle-130.737825-linux.tg ...

  3. Struts2_用DomainModel接收参数

    用域模型接收参数 User类 package com.bjsxt.struts2.user.model; public class User { private String name; privat ...

  4. 【微软大法好】VS Tools for AI全攻略(4)——选择适合自己的虚拟机

    当我们选择好了自己的虚拟机后,也许效果不尽如人意.就比如我,发现代码在训练一段时间之后,CPU的使用率会下降. 这个时候我们就要开始考虑,是不是我们选择的虚拟机不是适合自己的型号. Azure的虚拟机 ...

  5. SINAMICS S120屏蔽报警

    通用的报警屏蔽方法: P2118 = 需要屏蔽的报警号 P2119 = 屏蔽的方式

  6. SPOJ - ORDERS--- Ordering the Soldiers---根据逆序对求原数组

    题目链接: https://vjudge.net/problem/SPOJ-ORDERS 题目大意: 根据每个数字的逆序对求出原数组 解题思路: 举个例子: n = 5 a[ n ] = { 0, 1 ...

  7. url网址解析的好帮手

    接下来进入node的重点,也就是介绍nodejs主要api的功能和如果使用,由于nodejs逐渐能满足这种高并发和大规模的场景.他才被更多的公司所采用 无论什么资源,一定要有明确的地址才有意义,在互联 ...

  8. redis redis的连接

    昨天2017年12月26日,我刚刚从网上下载了redis.经过一天的摸索,踩了不少坑.昨天下午,比较磕磕巴巴,今天早上 终于比较完善地完成了一次小操作. 使用cmd的重要步骤 1.输入redis-se ...

  9. 递归函数之阶乘和字符串反转-基于R和Python

    Python课第五周开始讲函数了.递归函数.递归在python中不能超过900多层,否则报错内存溢出什么的.同样在R中递归太深也会报错,阈值和python中大概一样,900多次就报错了. error ...

  10. 二、OC的构造方法和descriprtion方法

    二.构造方法和description方法 1.构造方法的定义 - (id)initWithAge:(int)newAge andNo:(int)newNo; 2.实现构造方法 - (id)initWi ...