理解和创建:Anaconda、Jupyterlab、虚拟环境、Kernel

您所在的位置:网站首页 生化SOP文件里的环境和安全是什么 理解和创建:Anaconda、Jupyterlab、虚拟环境、Kernel

理解和创建:Anaconda、Jupyterlab、虚拟环境、Kernel

2024-07-11 14:19| 来源: 网络整理| 查看: 265

Anaconda如何创建虚拟环境并作为jupyterlab的内核使用 先明确一波概念一. “虚拟环境”1. 环境是什么?2. 虚拟环境是什么?3. 为什么需要创建虚拟环境?4. Anaconda创建、激活、退出、删除虚拟环境 二. kernel1. kernel是什么?2. kernel和虚拟环境是什么关系?3. 将虚拟环境映射为jupyterlab的kernel4. 新建ipynb时,可以选择Kernel3. kernel和notebook(spyder)是什么关系? 参考链接

先明确一波概念 一. “虚拟环境” 1. 环境是什么?

既然有虚拟环境(Virtual Environment),那么有必要先解释一下,什么是环境。 这里的环境,指的就是 Python 代码的运行环境。它应该包含以下信息:(第 1 个是最主要的,后面 2 个基本是围绕它确定的)

Python 解释器,用哪个解释器来执行代码?Python 库的位置,该去哪里 import 所需要的模块呢?可执行程序的位置,比如说安装了 pip,那么 pip 命令是在哪里呢?

如果看了对安装后的文件夹的说明,应该很清楚了,就是:

python.exeLib 文件夹,包括其中的 site-packagesScripts 文件夹 2. 虚拟环境是什么?

虚拟环境就是 Python 环境的一个副本。 虚拟环境是一个虚拟化、从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。 譬如,本次学习需要用到Django,我们可以做一个Django的虚拟环境,里面只需要安装Django相关包就可以了。

3. 为什么需要创建虚拟环境?

在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接怼我们的Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。

举一个最简单的例子,假设框架中需要安装A包,安装A包的前提条件是B包的2.1版本和C包的1.2版本都有,这时候你原来系统里的B包可能是3.2版本,为了装A包就需要降版本,但是系统里原来的D包需要3.2版本的B包,所以B包降了版本,可能导致D包无法使用。

4. Anaconda创建、激活、退出、删除虚拟环境 #在原始控制台输入:,检测anaconda环境是否安装成功。输出conda版本为成功 conda --version #查看当前存在哪些虚拟环境: conda env list 或 conda info -e #在未创建自己的虚拟环境之前,查看到的将是anaconda自带的base环境 #创建虚拟环境。使用管理员身份运行Anaconda Prompt,创建一个叫做“env_name”的python3.6的虚拟环境,在界面输入 conda create --name env_name python=3.6 #创建完成后,激活虚拟环境: conda activate env_name #如果显示例如:(env_name) C:\Users\ 代表已经进入虚拟环境,在这个状态下就可以安装你所需要的包了 #下一次进入虚拟环境依旧是从Anaconda Prompt进入,直接activate env_name激活即可。(如果忘记了名称我们可以先用conda env list查看一下) #如果直接输入命令activate,如果后面什么参数都不加那么会进入anaconda自带的base环境 #在虚拟环境中,安装第三方包: conda install package_name 或者 pip install package_name #一次安装多个第三方包: conda install package_name_1 package_name_2 #指定所安装的第三方包的版本: conda install package_name=X.X #更新package_name包: conda update package_name #在虚拟环境中,卸载第三方包: conda remove package_name 或者 pip uninstall package_name #要查看当前环境中所有安装了的包可以用 conda list #在激活的虚拟环境内,可以打开python解释器: python #验证第三方包package_name是否安装成功: import package_name #退出python解释器: exit() #退出虚拟环境 conda deactivate #切回root环境 activate root #删除虚拟环境及下属所有包 conda remove --name env_name --all #删除虚拟环境中的包: conda remove --name env_name package_name #分享环境,一个方法是给ta一个你环境的.yml文件。首先activate env_name激活要分享的环境,然后输入:将包信息存入yml文件中. conda env export > environment.yml #在当前工作目录下会生成一个environment.yml文件,小伙伴拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境 conda env create -f environment.yml 二. kernel 1. kernel是什么?

kernel在Jupyter中提供编程语言支持。(说白了,kernel就是编译器) IPython是默认内核,支持Python编程语言。IPython是参考的Jupyter内核,提供了一个强大的Python交互式计算环境。 还有其他内核包括R、Julia等。所以除了Python之外,还可以在Jupyter中使用许多其他语言。

2. kernel和虚拟环境是什么关系?

如果说kernel是编译器的话,那我是不是可以理解为kernelconda env list #conda environments: # base * C:\ProgramData\Anaconda3

查看jupyter kernel:

C:\Users\huipu>jupyter kernelspec list Available kernels: python3 C:\ProgramData\Anaconda3\share\jupyter\kernels\python3

可以发现kernel的位置是在虚拟环境之下的,所以我觉得我的想法应该没错。如果有大佬知道,欢迎在评论区指正!

3. 将虚拟环境映射为jupyterlab的kernel

既然虚拟环境是python语言的运行环境,那么可以将创建的虚拟环境添加为jupyterlab的kernel(编译器),使用自己创建的虚拟环境来运行jupyterlab中的Python代码。

进入到要添加为kernel的环境: activate kernelname 确认该环境已安装ipykernel: python -m ipykernel --version

务必要安装ipykernel(如果是R语言,要安装irkernel),ipykernel包的作用是将当前所在python环境添加为kernel,配置文件路径为~/anaconda3/envs/my_env/share/jupyter/kernels/python3/kernel.json。 通过配置Jupyter下的kernel.json文件,就可以将虚拟环境映射为kernel。

如果没有安装,则安装: conda install ipykernel

或者在当初创建环境时,同时安装ipykernel:

conda install -n 环境名称 ipykernel 将虚拟环境映射为(安装到)jupyterlab的kernel: python -m ipykernel install --user --name KernelName --display-name DisplayName

“–user”参数的意思是针对当前用户安装,而非系统范围内安装。 KernelName是你的虚拟环境名称。 DisplayName是你想要该内核在notebook上面显示内核的名字。

查看已安装的jupyter notebook kernel和地址 jupyter kernelspec list jupyter删除内核 jupyter kernelspec remove kernelname

其中,kernelname是你的虚拟环境名称(即上面添加的内核名称)。

4. 新建ipynb时,可以选择Kernel

新建ipynb文件时,选择的是哪个kernel(如:Python3),每次进入时就启动相应的kernel。 可以在jupyterlab界面导航“Kernel”下的“Change Kernal”切换内核。

3. kernel和notebook(spyder)是什么关系?

notebook和spyder都是编辑器,python或其他代码运行在其中时,需要语言编译环境的支持。kernel中就包含了这个语言环境,不同的kernel可对应不同的环境。

参考链接 理解Python虚拟环境Jupyterlab如何切换Anaconda下的python虚拟环境Anaconda创建python虚拟环境——新手小白入门必看什么是虚拟环境、为什么使用虚拟环境、Anaconda创建、激活、退出、删除虚拟环境Anaconda 创建虚拟环境(自己版本)Anaconda、Jupyter、Kernel关于Jupyter Notebook的kernel


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3