标签: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:ProgramDatajupyterkernelstut_venv
为了测试是否成功地向ipython内核注册了venv,需要:
1.关闭Jupyter Notebook
2.停用当前的venv
3.重新打开Jupyter Notebook
4.检查“Open”,应该看到我们刚刚创建的venv名称“tut-venv”。使用此内核打开一个新文件
5.执行代码进行检查
从Jupyter Notebook中删除虚拟环境
要删除venv,在命令提示符下键入jupyter kernelspec list以确认venv名称,将看到类似如下内容:
代码语言:javascript复制C:UsersXXXvenv_jupyter_notebook>jupyterkernelspec list
Available kernels:
python3 C:UsersXXXAppDataRoamingPythonPython39site-packagesipykernelresources
tut_venv C:ProgramDatajupyterkernelstut_venv
删除为本文创建的“tut_venv”。要删除,键入jupyter kernelspec uninstall tut_venv,将看到类似以下确认信息:
代码语言:javascript复制C:UsersXXXvenv_jupyter_notebook>jupyterkernelspec uninstall tut_venv
Kernel specs to remove:
tut_venv C:ProgramDatajupyterkernelstut_venv
Remove 1 kernel specs [y/N]: y
[RemoveKernelSpec] RemovedC:ProgramDatajupyterkernelstut_venv
注:本文学习整理自pythoninoffice.com。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。