加入收藏 | 设为首页 | 会员中心 | 我要投稿 牡丹江站长网 (https://www.0453zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

代码详解:Python虚拟环境的原理及使用

发布时间:2019-07-03 04:02:59 所属栏目:优化 来源:读芯术
导读:依附之门:放弃进入这里的所有希望。 插图:Gustave Dor Python的虚拟环境极大地方便了人们的生活。本指南先介绍虚拟环境的基础知识以及使用方法,然后再深入介绍虚拟环境背后的工作原理。 注意:本指南在macOS Mojave系统上使用最新版本的Python 3.7.x。
副标题[/!--empirenews.page--]

代码详解:Python虚拟环境的原理及使用

依附之门:“放弃进入这里的所有希望。”

插图:Gustave Doré

Python的虚拟环境极大地方便了人们的生活。本指南先介绍虚拟环境的基础知识以及使用方法,然后再深入介绍虚拟环境背后的工作原理。

注意:本指南在macOS Mojave系统上使用最新版本的Python 3.7.x。

1. 为什么使用虚拟环境?

虚拟环境为一系列潜在问题提供简单的解决方案,尤其是在以下几个方面:

  • 允许不同的项目使用不同版本的程序包,从而解决依赖性问题。例如,可以将Project A v2.7用于Project X,并将Package A v1.3用于Project Y。
  • 通过捕获需求文件中的所有包依赖项,使项目自包含且可重现。
  • 在没有管理员权限的主机上安装软件包。
  • 只需要一个项目,无需在系统范围内安装软件包,就能保持全局site-packages /目录整洁。

听起来很方便,不是吗?开始构建更复杂的项目并与其他人协作时,虚拟环境的重要性会凸显出来。很多数据科学家也需要熟悉虚拟环境中与多语言相关的Conda环境。

可按照先后次序来使用!

2. 什么是虚拟环境?

到底什么是虚拟环境?

虚拟环境是用于依赖项管理和项目隔离的Python工具,允许Python站点包(第三方库)安装在本地特定项目的隔离目录中,而不是全局安装(即作为系统范围内的Python的一部分)。

这听起来不错,但到底什么是虚拟环境呢?虚拟环境只是一个包含三个重要组件的目录:

  • 安装了第三方库的site-packages /文件夹。
  • 系统上安装的Python可执行文件的symlink符号链接。
  • 确保执行Python代码的脚本使用在给定虚拟环境中安装的Python解释器和站点包。

最后一点在于会发生一些意想不到的错误,稍后会讲这一点,但现在先看看在实际中如何实际使用虚拟环境。

代码详解:Python虚拟环境的原理及使用

但丁《神曲·地狱篇》第六章—维吉尔安抚Cerberus

插图:Gustave Doré

3. 使用虚拟环境

(1) 创造虚拟环境

假设想要为正在处理的项目创建一个名为test-project/的虚拟环境,该项目具有以下目录树:

  1. test-project/ 
  2. ├── data         
  3. ├── deliver           # Final analysis, code, & presentations 
  4. ├── develop           # Notebooks for exploratory analysis 
  5. ├── src               # Scripts & local project modules 
  6. └── tests 

需要执行venv模块,它是Python标准库的一部分。

  1. % cd test-project/ 
  2. % python3 -m venv venv/       # Creates an environment called venv/ 

注意:可使用不同的环境名称替换“venv/”。

瞧!虚拟环境诞生了。现在项目变成:

  1. test-project/ 
  2. ├── data        
  3. ├── deliver      
  4. ├── develop      
  5. ├── src      
  6. ├── tests    
  7. └── venv                 # There it is! 

提醒:虚拟环境本身就是一个目录。

唯一要做的事情是通过运行前面提到的脚本来“激活”环境。

  1. % source venv/bin/activate              
  2. (venv) %                               # Fancy new command prompt 

现在我们位于活动的虚拟环境中(由命令提示符指示,前缀为活动环境的名称)。

我们会像往常一样处理项目,确保项目与系统的其他部分完全隔离。在虚拟环境中,我们无法访问系统范围的站点包,并且无法在虚拟环境之外访问安装包。

完成项目工作时,可以通过以下代码退出环境:

  1. (venv) % deactivate 
  2. %                                    # Old familiar command prompt 

(2) 安装包

(编辑:牡丹江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!