笔记-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. webpack优化技术参考

    https://jeffjade.com/2017/08/12/125-webpack-package-optimization-for-speed/ 加速构建webpack.

  2. Dojo 学习笔记 之 Dojo hitch&partial

    原文: http://dojotoolkit.org/documentation/tutorials/1.10/hitch/index.html 版本: Dojo 1.10 为了更好地使用JavaSc ...

  3. 《ArcGIS Runtime SDK for Android开发笔记》——翻译:ArcGIS Runtime SDK for Android 10.2.7发布

    ArcGIS Runtime SDK for Android v10.2.7 released by Dan O'Neill on October 1, 2015(发布时间:2015年10月1日) W ...

  4. IIS7 配置SSL 绑定主机头

    IIS7下面默认HTTPS绑定是无法指定主机头的,我们可以通过手工修改IIS配置来实现主机头绑定. 首先停止IIS服务. 然后打开C:/Windows/system32/inetsrv/config/ ...

  5. selenium profile remotedriver

    使用 FirefoxProfile FirefoxProfilefp = new FirefoxProfile(); // set something on the profile... Desire ...

  6. Visual Studio 各个版本汇总

    微软开发人员,对开发工具的熟练程度,在一定程度上说明了开发 版本 名称 内部版本 发布日期 支持 .NET Framework 版本 备注 引入 .NET Framework 前[4]  1 Visu ...

  7. webstrom使用

    主题 主题下载:http://color-themes.com/?view=index&page=1&order=popular&search=&layout=HTML ...

  8. QT5中两个窗体之间传递信息(值)

    一个窗体A调用另一个窗体B: 1)包含窗体B的头文件#include"B.h" 2)在窗体A中增加slots函数: public slots: void infoRecv(QStr ...

  9. Uva 11401 数三角形

    题目链接:https://uva.onlinejudge.org/external/114/11401.pdf 题意:1~n个数里面挑3个不同的数,组成一个三角形.求方案数. 分析: 令最长的边为X, ...

  10. 快餐店之间插入仓库,路最短,DP,POJ(1485)

    题目链接:http://poj.org/problem?id=1485 暂时我还没想出思路求路径.哈哈哈,先写一下中间步骤吧. #include <stdio.h> #include &l ...