excelperfect 标签:Python,Jupter Notebook 本文讲解如何使用Python虚拟环境(venv)和Jupyter Notebook,介绍它们是什么、为什么、何时以及如何使用它们。 Python虚拟环境 大多数情况下使用Python时,需要使用一些第三方库,例如pandas、plotly、xlwings等,这些库不是标准Python安装附带的。 根据所开发或处理的项目,有时需要一个特定版本的库,但在任何给定时间只能保留一个版本的库。例如,如果项目A需要pandas版本1.0.1,而项目B需要pandas版本1.2.0,则无法在计算机上同时安装这两个版本。 Python虚拟环境(venv)通过创建Python和所有库的自包含副本来解决这个问题。当我们创建多个虚拟环境时,每个实例都是自隔离的,不会干扰其他环境,因此我们可以在计算机上同时拥有不同版本的库。 创建一个Python虚拟环境(venv) 我们将使用一个名为venv的Python模块,它是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是一个基于web的IDE(交互式开发环境),用于多种编程语言,包括Python。事实上,Jupyter支持的三种核心语言是Julia、Python和R。顾名思义,它是一个“笔记本”。这意味着它可以包含计算机代码和人类可读的内容,如文本、图片等,就像一个物理笔记本一样。 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社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。
|
|
来自: hercules028 > 《Python and AI》