虚拟环境介绍

应用场景

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. Chapter Zero 0.2.3 显示适配器

    显示适配器(Video Graphics Array,VGA) 不看后悔!!深入了解显卡!!!走你! 我们常常会调试显示器的分辨率,一般对于图像的显示重点在于分辨率与颜色深度, 每个图像显示的颜色会占 ...

  2. 域渗透——获得域控服务器的NTDS.dit文件

    0x00 前言 在之前的文章<导出当前域内所有用户hash的技术整理>曾介绍过通过Volume Shadow Copy实现对ntds.dit文件的复制, 可用来导出域内所有用户hash.本 ...

  3. Ajax 实战大全!

    1.html 文件 ( form.html) 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv=& ...

  4. css text gradient color, css fonts gradient color

    css text gradient color, css fonts gradient color css 字体渐变色 demo https://codepen.io/xgqfrms/pen/OJya ...

  5. where is the storage location of the browser's HTTP cache? disk or memory

    where is the storage location of the browser's HTTP cache? disk or memory HTTP cache & storage l ...

  6. ts 遍历Class上的属性和方法

    interface Type<T> extends Function { new (...args: any[]): T; } class Data { name = "ajan ...

  7. vue 使用stylus

    λ yarn add stylus stylus-loader --dev <style scoped lang="stylus"> div color #ff4488 ...

  8. 全球首发—鸿蒙开源平台OpenGL

    目录: 前言 背景 鸿蒙OpenGL-ISRC的结构 OpenGL-ISRC和鸿蒙SDK OpenGL的区别 OpenGL-ISRC的使用 前言 基于安卓平台的OpenGL(androidxref.c ...

  9. 1095 Cars on Campus——PAT甲级真题

    1095 Cars on Campus Zhejiang University has 6 campuses and a lot of gates. From each gate we can col ...

  10. WPF 解决内置谷歌浏览器(Cef.ChromiumWebBrowser)在触摸屏无法进行滚动的问题

    1.问题描述: 最近在WPF的项目中,需要在控件中嵌套可以浏览特定网页的内容,所以使用了 Cef.ChromiumWebBrowser来解决问题.在执行项目的过程中,主要碰到的问题有: 1.1 当把项 ...