分享

如何使用虚拟环境和Jupyter Notebook

 hercules028 2021-12-09

excelperfect

标签:Python,Jupter Notebook

本文讲解如何使用Python虚拟环境(venv)和Jupyter Notebook,介绍它们是什么、为什么、何时以及如何使用它们。

Python虚拟环境

大多数情况下使用Python时,需要使用一些第三方库,例如pandasplotlyxlwings等,这些库不是标准Python安装附带的。

根据所开发或处理的项目,有时需要一个特定版本的库,但在任何给定时间只能保留一个版本的库。例如,如果项目A需要pandas版本1.0.1,而项目B需要pandas版本1.2.0,则无法在计算机上同时安装这两个版本。

Python虚拟环境(venv)通过创建Python和所有库的自包含副本来解决这个问题。当我们创建多个虚拟环境时,每个实例都是自隔离的,不会干扰其他环境,因此我们可以在计算机上同时拥有不同版本的库。

创建一个Python虚拟环境(venv

我们将使用一个名为venvPython模块,它是Python标准库的一部分,是Python安装附带的。与其他库不同,我们不在Python解释器中导入venv。相反,我们在命令提示符/Powershell/Terminal中使用它。

在创建虚拟环境之前,我们需要首先决定将其放置在何处,因此,首先导航到所需的文件夹位置,将在venv_tut文件夹中创建一个新的虚拟环境:

cd venv_tut

python -m venv tut_venv

一旦它被创建,我们就会看到一个名为“tut_venv”的文件夹出现在当前目录中。使用cd命令进入子文件夹:

cd tut_venv/Scripts  #对于 Windows

cd tut_venv/bin      #对于 Unix Macos

Scripts(或bin)文件夹中,应该看到一个名为“activate”的文件。只需在命令提示符下键入activate即可激活虚拟环境。要确认虚拟环境已激活,在命令提示窗口中,我们应该看到(tut_venv)出现在当前输入行的前面。

图片

1

测试这个虚拟环境

在这个虚拟环境中安装pandas并测试它是否工作。将以下行保存到Python文件中:

import pandas as pd

print(pd.__version__)

注意:如果我们试图在IDLE中运行此代码,它可能无法工作,因为当前IDLE不在我们刚刚安装pandas的虚拟环境中。根据你的机器,当前的“环境”可能没有pandas。要使用正确的venv运行代码,我们需要从激活venv的控制台执行代码。为此,只需键入:

python3 venv_eg.py

这一次,代码将在正确的虚拟环境中运行。现在,如果我们需要安装另一个版本的pandas,只需要创建一个新的虚拟环境并在那里安装它。

什么时候使用虚拟环境

当需要在库的不同版本之间不断切换时,虚拟环境特别有用。另一个例子是,当应用程序需要多个库时,在一个环境中安装太多库可能会导致库之间的潜在冲突。

尽管有些人认为为所处理的每个Python项目创建一个新的虚拟环境是一个很好的实践(因为这样每个项目的库都与系统和彼此隔离)。然而作者认为,除非是大型项目,否则不需要单独的虚拟环境。例如,我从事的大多数项目都需要pandas,因此,我只需要在系统范围内安装pandas,而无需在每次启动新项目时创建虚拟环境。

Jupyter Notebook

Jupyter Notebook是一个基于webIDE(交互式开发环境),用于多种编程语言,包括Python。事实上,Jupyter支持的三种核心语言是JuliaPythonR。顾名思义,它是一个“笔记本”。这意味着它可以包含计算机代码和人类可读的内容,如文本、图片等,就像一个物理笔记本一样。

Jupyter Notebook在网络浏览器中运行,而且也是交互式的,其交互性比普通的Python IDLE要好得多。

安装Jupyter Notebook

如果计算机上已经安装了Python,就可以使用pip安装Jupyter Notebook

pip install jupyter

安装完成后,在控制台中键入jupyter notebook将其打开。将看到它在控制台中执行,并自动打开计算机的浏览器。注意,不要关闭控制台!控制台是后端引擎,浏览器只是一个界面。如果关闭控制台,Jupyter Notebook将关闭。

Jupyter Notebook创建虚拟环境

Jupyter Notebook使用虚拟环境与电脑上使用虚拟环境略有不同。在Jupyter Notebook中,有一个叫做IPython内核的东西,它本质上是在后端执行Python代码的计算引擎。一旦我们创建了一个虚拟环境,就可以将它与内核链接起来,这样就不必每次需要时都手动激活venv

为了向内核注册venv,需要pip安装另一个Python模块ipykernel

pip install ipykernel

安装完成后,在控制台中键入以下内容:

python -m ipykernel install--name=tut-venv

我们将看到类似以下消息:

Installed kernelspec tut_venv inC:\ProgramData\jupyter\kernels\tut_venv

为了测试是否成功地向ipython内核注册了venv,需要:

1.关闭Jupyter Notebook

2.停用当前的venv

3.重新打开Jupyter Notebook

4.检查“Open”,应该看到我们刚刚创建的venv名称“tut-venv”。使用此内核打开一个新文件

5.执行代码进行检查

Jupyter Notebook中删除虚拟环境

要删除venv,在命令提示符下键入jupyter kernelspec list以确认venv名称,将看到类似如下内容:

C:\Users\XXX\venv_jupyter_notebook>jupyterkernelspec list

Available kernels:

 python3     C:\Users\XXX\AppData\Roaming\Python\Python39\site-packages\ipykernel\resources

  tut_venv    C:\ProgramData\jupyter\kernels\tut_venv

删除为本文创建的“tut_venv”。要删除,键入jupyter kernelspec uninstall tut_venv,将看到类似以下确认信息:

C:\Users\XXX\venv_jupyter_notebook>jupyterkernelspec uninstall tut_venv

Kernel specs to remove:

  tut_venv             C:\ProgramData\jupyter\kernels\tut_venv

Remove 1 kernel specs [y/N]: y

[RemoveKernelSpec] RemovedC:\ProgramData\jupyter\kernels\tut_venv

注:本文学习整理自pythoninoffice.com

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多