虚拟环境介绍

应用场景

python在安装第三方包时,会被pip安装到/site-package下,如果我们需要同时维护多个python项目,那这些项目都会共用一个python,而真实需求是多个项目之间依赖的包或包版本都不一样时,每个项目可能都需要拥有一套独立的环境,需要在这三个环境中随意切换,这时候虚拟环境就完美解决了这个问题。

虚拟环境

有了虚拟环境后,我们可以使用虚拟环境工具创建多个相互独立、互不影响的虚拟环境,不同的虚拟环境可以安装不同的包。

使用虚拟环境的好处

  • 保持全局环境的干净

  • 指定不同的依赖版本

  • 方便记录和管理依赖

virtualenv

win 下安装 vitualenv

  • cmd进入命令行,安装virtualenv:pip install virtualenv

  • 安装虚拟环境管理包:pip install virtualenvwrapper-win

  • 本地新建文件,用于存放项目,建议命名.env或.virtualenv,文件名前面可以加点也可以不加,加上表示在windows中该文件是隐藏文件;

  • 配置环境变量:我的电脑右键-->属性-->高级系统设置-->环境变量-->系统变量新建变量名:WORKON_HOME,变量值:第三步新建virtualenv文件所在目录,保存即环境创建成功。

virtualenv 基本用法

创建虚拟环境:mkvirtualenv -p python3 自定义虚拟环境名

(在存放虚拟环境的目录下执行;-p指定python版本,可以不加,默认指定已安装的python版本)

查看所有已创建的所有虚拟环境:workon

进入虚拟环境:workon 虚拟环境名

查看虚拟环境下所有已安装的包:pip install(在虚拟环境安装、卸载安装包与python环境命令一致)

退出虚拟环境:deactivate

删除虚拟环境:rmvirtualenv 虚拟环境名

virtualenv虚拟环境迁移

将项目一的虚拟环境迁移到项目二的虚拟环境上:

  • 当前目录下输入命令:pip freeze > requirements.txt,将当前环境所有的包名导出至requirements.txt文件;

  • 输入:pip install -r requirements.txt,安装文件中所有的包。

pipenv

pipenv是集成pip、virtualenv功能的虚拟环境工具,完善两者的缺陷。

pipevn优点

  • 记录了固定版本的详细依赖包列表,查看依赖关系十分方便;

  • 使用了哈希校验,无论安装还是卸载都非常安全。

安装步骤

  • python中安装pipenv:pip install pipenv

  • 创建虚拟环境:pipenv install ,创建后项目工程自动生成Pipfile和Pipfile.lock两份文件

    • Pipfile:记录项目的依赖包

    • Pipfile.lock:记录依赖包的详细信息,通过hash算法将包名称、版本及依赖关系生成哈希值,保证包的完整性

pipenv 的基本用法

安装虚拟环境包到默认环境:pipenv install 包名

安装虚拟环境包到开发环境:pipenv install 包名 --dev

卸载虚拟环境包:pipenv uninstall 包名(会将该包与依赖包全部卸载)

查看当前虚拟环境下安装包及依赖关系:pipenv graph

进入虚拟环境:pipenv shell

列出本地工程的路径:pipenv --where

列出虚拟环境路径:pipenv --venv

列出虚拟环境的python可执行文件:pipenv --py

生成 Pipfile.lock 文件:pipenv lock

退出虚拟环境:exit

删除虚拟环境:pipenv --rm

pipenv 虚拟环境迁移

将项目一的虚拟环境迁移到项目二的虚拟环境上:

  • 安装pipenv:pip install pipenv

  • 复制Pipfile和Pipfile.lock两份文件到新项目上

  • 新项目的终端执行命令:

    • 恢复默认环境[packages]命令:pipenv install

    • 恢复开发环境[dev-packages]命令:pipenv install --dev

【python】虚拟环境管理之 virtualenv 、pipenv的更多相关文章

  1. python虚拟环境管理之virtualenv,virtualenvwrapper,pipenv,conda

    虚拟环境的作用 使python环境拥有独立的包,避免污染原本的python环境.为不同的项目创建不同的环境可以避免安装的库过于庞大和相互干扰. 例如你想在同一台机器上开发用python2和python ...

  2. python开发之虚拟环境管理:virtualenv、virtualenvwrapper、pycharm

    1 引言 进行Python开发时,多个项目可能使用到不同的依赖,例如A项目需要1.8版本的Django,而B项目需要2.0版本的Django,这时候如果没有使用虚拟环境,就需要来回卸载和安装Djang ...

  3. Python多环境管理神器(pipenv)

    pipenv 参考官网:https://pipenv.pypa.io/ pipenv 是一款比较新的包管理工具,其借鉴了 javascript 的 npm 和 PHP 的 composer 等理念,通 ...

  4. python——虚拟环境管理大合集

    个人常用:pipenv 安装 pip3 install pipenv 创建虚拟环境 # 默认安装在~/.local/virtualenv下 mkdir project cd project pipen ...

  5. python虚拟环境管理 Pipenv 使用说明

    安装 pip install pipenv 检查是否安装成功 pipenv --version 创建虚拟环境(在工程文件夹下) pipenv install 默认下,Pipenv统一管理所有虚拟环境 ...

  6. Python虚拟环境管理工具virtualenvwrapper安装及配置

      1. 安装virtualenv 使用pip install virtualenv安装virtualenv虚拟环境工具 2. 安装virtualenvwrapper a) Linux环境,直接使用p ...

  7. Linux python 虚拟环境管理

    直接复制的内容: 原著:https://www.cnblogs.com/q767498226/p/11099884.html 报错解决:https://blog.csdn.net/weixin_467 ...

  8. python虚拟环境管理包virtualenvwrapper

    1.打开cmd 2.安装virtualenvwrapper pip install virtualenvwrapper-win 3.配置虚拟环境的位置 新建系统变量默认在c盘 4.新建虚拟环境 mkv ...

  9. OSX编译安装Python3及虚拟开发环境Virtualenv

    0X00.前言 因为工作原因,最近主要做Python开发,刚好电脑系统重装之后所有的东西都需要重新配置.此文主要记录OSX下通过源码编译安装Python3以及安装虚拟开发环境Virtualenv. 0 ...

随机推荐

  1. ASP.Net Core 5.0 MVC中AOP思想的体现(五种过滤器)并结合项目案例说明过滤器的用法

    执行顺序 使用方法,首先实现各自的接口,override里面的方法, 然后在startup 类的 ConfigureServices 方法,注册它们. 下面我将代码贴出来,照着模仿就可以了 IActi ...

  2. 【转】Docker 核心技术与实现原理

    转自:https://draveness.me/docker 提到虚拟化技术,我们首先想到的一定是 Docker,经过四年的快速发展 Docker 已经成为了很多公司的标配,也不再是一个只能在开发阶段 ...

  3. Cobbler自定义标题及菜单密码

    sha1pass mypassword || openssl passwd -1 -salt sXiKzkus mypassword $1$sXiKzkus$x12Z3ZaiC34GhceLH5LXw ...

  4. NFS 共享存储

    目录 环境准备 NFS服务端 NFS客户端 部署时常见报错 httpd服务 NFS 共享存储的坑 环境准备 主机名 WanIP(Wide Area Network) LanIP(Local Area ...

  5. ffmpeg开发环境搭建--(linux)

    1.     下载源码: http://ffmpeg.org/download.html 2.     解压:tar –xvf ffmpeg-3.2.1.tar.bz2 3.     配置 Eg:./ ...

  6. confirm() :带有指定消息和 OK 及取消按钮的对话框

    定义和用法 confirm() 方法用于显示一个带有指定消息和 OK 及取消按钮的对话框. 语法 confirm(message) 参数描述 message 要在 window 上弹出的对话框中显示的 ...

  7. chrome禁用缓存:调试javascript注意事项

    chrome禁用缓存:调试javascript   chrome对js和图片的缓存,导致调试的程序不是最新的,有时F5刷新了都没用. 可以禁用缓存: 先按F12,再按F1, 勾选 Disable ca ...

  8. 将从摄像头即时读入的人像放入背景视频中_with_OpenCV_in_Python

    import cv2 import numpy as np import time cap = cv2.VideoCapture(0) background_capture = cv2.VideoCa ...

  9. Angular 8.x in Action

    Angular 8.x in Action web fullstack / fullstack web Angular 8 https://angular.io/ Angular 2, Angular ...

  10. Scratch & Flappy Turtle & Flappy Bird & Game

    Scratch & Flappy Turtle & Flappy Bird & Game Flappy Turtle Game https://scratch.mit.edu/ ...