Anaconda创建虚拟环境并使用Jupyter-notebook打开虚拟环境(开搞开搞)

Anaconda

Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。
安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载。
具体安装步骤自行百度。

虚拟环境

什么是虚拟环境?

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

为什么使用虚拟环境?

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

场景1:项目A需要某个框架1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要 来回 的卸载安装了,这样很容易就给你的项目带来莫名的错误;

场景2:公司之前的项目需要python2.7环境下运行,而你接手的项目需要在python3环境中运行,想想就应该知道,如果不使用虚拟环境,这这两个项目可能无法同时使用,使用python3则公司之前的项目可能无法运行,反正则新项目运行有麻烦。而如果虚拟环境可以分别为这两个项目配置不同的运行环境,这样两个项目就可以同时运行。

Tips:其实虚拟环境好处也确实比较多,会给我们项目的开发带来许多的好处,但不要贪玩哦。

使用和管理虚拟环境

  1. 运行Anaconda Prompt
  2. 检验当前conda的版本
conda -V
  1. 创建虚拟环境:
conda create -n  env_name python=x.x
#同时可以安装指定库
conda create -n env_name numpy matplotlib python=3.6

env_name 为虚拟环境名称,x.x为虚拟环境python的版本,根据需求来定。

  1. 激活虚拟环境
conda activate env_name
  1. 退出虚拟环境
conda deactivate env_name
  1. 查看已有的虚拟环境
conda env list  或 conda info -e
  1. 如果没有进入到当前虚拟环境,使用-n env_name 的方式去指定对某个虚拟环境安装软件
# 查看指定环境下已安装的package
conda list -n env_name
# 安装指定环境下某个package
conda install -n env_name [package]
# 删除指定环境下某个package
conda remove -n env_name [package]
# 更新指定环境下某个package
conda update -n env_name [package]
  1. 重命名环境
conda create -n env_name1 --clone env_name2 
  1. 删除虚拟环境
    conda remove -n env_name --all
  2. 删除虚拟环境中的包
    conda remove --name $your_env_name $package_name(包名)
  3. 检查更新当前conda
conda update conda
  1. 换源
    有时用国外镜像源下载库的速度比较慢,因此可以将镜像源换位国内的。
    Windows 用户无法直接创建名为 .condarc 的文件,可先执行 conda config --set show_channel_urls yes 生成该文件之后再修改。
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

然后运行 conda clean -i 清除索引缓存即可。

Jupyter Notebook

Jupyter notebook简介

Jupyter这个名字是它要服务的三种语言的缩写:Julia,PYThon和R,这个名字与“木星(jupiter)”谐音。
之前我们只能在普通的 Python shell 或者在IDE(集成开发环境)中写代码,然后在word中写文档来说明你的项目。这个过程很反锁,而且写完代码之后,还需要重头回顾一遍代码来写文档。最致命的地方在于,有些数据分析的中间结果,还需要重新跑代码,然后把结果弄到文档里给客户看。但是notebook 可以直接在代码旁写出叙述性文档,而不是另外编写单独的文档。也就是它可以能将代码、文档等这一切集中到一处,让用户一目了然。

例如:
在这里插入图片描述

快速上手notebook

启动Jupyter notebook

安装Anaconda时自带Jupyter notebook,如果没有可以通过执行命令行pip3 install jupyter即可

  1. 双击Jupyter notebook图标。
    在这里插入图片描述
  2. 在终端中输入以下命令`
 Jupyter notebook

ps:如果同时启动多个Jupyter Notebook,由于默认端口“8888”被占用,因此地址栏中的数字将从“8888”起,每多启动一个Jupyter Notebook数字就加1,如“8889”、“8890”…

  1. 指定端口启动
jupyter notebook --port <port_number>

  1. 启动服务器但不打开浏览器
jupyter notebook --no-browser

关闭 notebook服务器

通过在终端中按两次 Ctrl + C,可以关闭整个服务器。

关闭Jupler notebook文件

对于关闭 notebook,可以通过选中文件,点击 “shutdown” 来操作操作,但请确认先保存。
在这里插入图片描述
或者直接关闭notebook的页面即可。
ps:这会立即关闭所有运行中的 notebook,记得关闭文件。
关闭notebook服务器后,下次启动再打开notebook,当你继续在该notebook中写代码时,发现之前的变量无法访问了。需要你在该notebook的Kernerl选项卡中选择“Run All”重新编译下之前的代码。
在这里插入图片描述

notebook 界面

Jupyter notebook有两种不同的键盘输入模式:

① 编辑模式:编辑代码,单元格显示绿色边框。

切换方式:单击单元格内,或者直接按键盘上 Enter 键,即可进入编辑模式。
在这里插入图片描述

② 命令模式:执行命令,比如在上添加一个单元格,在下添加一个单元格,删除选中的单元格等,单元格显示***蓝色***边框。

切换方式:单击单元格外任何位置,或者直接按键盘上 Esc 键,即可进入命令模式。
在这里插入图片描述

代码单元格

平时在 IDE 软件里敲代码一样,可以编写和执行代码,给变量赋值、定义函数和类、导入包等。可以通过 Shift + Enter 执行单元格代码。
在这里插入图片描述

Markdown 单元格

Markdowen模式:用来记笔记,可以加入链接、将文本样式设为粗体或斜体和设置代码格式。通过 Shift + Enter 或 Ctrl + Enter 可运行 Markdown 单元格,将 Markdown 呈现为格式化文本。
在code编辑模式下,Esc一下切换到命令模式,然后M键一下切换到markdown模式。在这里插入图片描述

重命名notebook

可以直接修改
在这里插入图片描述
或者点击“File”->Rename,对文件进行重命名
在这里插入图片描述
然后进行保存。
在这里插入图片描述

上传notebook文件在这里插入图片描述

上传完成后,点击上传的文件,就可以在notebook中打开了

下载notebook文件

点击File->Download as,可以选择多种格式下载你的notebook。可以根据下面的用途来选择不同的下载格式:

  • 如果想和客户分享数据分析成果,选择将notebook下载为HTML文件。
  • 如果希望将自己的数据分析成果和代码嵌入到项目中,可以选择Python(.py)模块,这样可以将我的代码融入项目中,成为子模块,方便和其他开发人员共同完成任务。
  • 如果想要在博客或文档中使用 notebook,我就选择Markdown格式。
  • 默认的notebook文件后缀是.ipynb

快捷键(网页上的Jupyter Notebook应用)

notebook 快捷键,能让你无需使用鼠标和工具栏,快速使用键盘与单元格交互。虽然了解这些快捷键需要花费一点时间,但熟练掌握之后,可以大大提高工作效率。快捷键可以通过单元格 蓝色 状态下按 “h” 来查看
在这里插入图片描述

1. "shift + enter" notebook单元格内执行代码,并且自动跳至下一个的单元格
2. "tab" 自动补齐代码,相当于eclipse的 alt + /
3. "shift + tab" 连按2次,显示注释,相当于eclipse的f2
 命令模式(蓝框)和 编辑模式(绿框)的切换:
	蓝 - 绿:"Enter", 绿 - 蓝 :"Esc"
4. 当前单元格下方创建单元格(命令模式下):"A"
5. 当前单元格上方创建单元格 (命令模式下)"B"
6. 当前单元格MarkDown模式和Code模式切换(命令模式下):m到c为"Y", c到m为"M"
7. 当前单元格内容增加行号(命令模式下):"L"
8. 删除单元格:连续两次按 "D"或者"x"
9. 保存:"S"

魔法(Magic)函数

Magic关键字是 IPython 的一些高级用法,可以运行特殊的命令,然后控制 notebook。例如,在 notebook 中可以使用%matplotlib 将 matplotlib 设置为以交互方式工作。
Magic 命令的前面带有一个或两个百分号(% 或 %%),分别代表行 Magic 命令和单元格 Magic 命令。行 Magic 命令仅应用于编写 Magic 命令时所在的行,而单元格 Magic 命令应用于整个单元格。
比如:

1.运行外部python源文件:%run xxx.py
2.计算statement的运行时间:%time statement
3.计算statement的平均运行时间:%timeit statement
4.测试多行代码的平均运行时间:
    %%timeit
    statement1
    statement2
    statement3

当然还有很多 Magic 关键字的使用,更多内容请参考:http://ipython.readthedocs.io/en/stable/interactive/magics.html

Jupyter Notebook内核管理

  1. 查看所有kernel
 jupyter kernelspec list
  1. 删除kernel
jupyter kernelspec remove xxxx
  • 切换kernel
    一般情况下,可以新建文件来选择kernel。
    在这里插入图片描述
    但是有时候会显现无法切换kernel的情况:
    jupyter一直显示No module named ‘torch’,用cmd查看torch.version,可以打印出来。原因就是在使用Jupyter Notebook的时候,加载的仍然是默认的Python Kernel。
    首先查看所有kernel,看需要使用的kernel是否存在Jupyter Notebook中。
 jupyter kernelspec list

如果不在的话,可以通过一下方案解决:

  • . 安装ipykernel
 jupyter kernelspec list
conda install ipykernel
#如果不行的话可以使用
pip install ipykernel #不要问为什么,问就是不知道(计算机的神奇之处)
  • 激活虚拟环境
conda activate env_name
  • 将环境写入Notebook的kernel中
python -m ipykernel install --user --name env_name --display-name "name(jupyter显示名称)"
  • 打开Jupyter notebook,新建Python文件,即可看到创建的环境。
jupyter notebook(虚拟环境中执行该命令)

但是我执行该步骤后,虽然可以在jupyter中选择该内核(虚拟环境),但是torch库报错,在这里插入图片描述
然后我在终端的python编译器中输入代码import sys sys.executable,查看路径;发现可以发现二者路径不一样,使用Jupyter Notebook的时候,加载的仍然是默认的Python Kernel,而且在Anaconda Prompt中出现“ImportError: cannot import name ‘generator_to_async_generator’”。

import sys
sys.executable

我的解决方案是通过以下方式打开jupyter notebook即可(中间也安装了nb_conda_kernels等包,不知道问题的解决跟这些有没有关)。当然网上也有一些其他的解决方案。
在这里插入图片描述
此时此刻 ,jupyter notebook安装成功,我们可以在上面搞一些事情…,下集见

补充:

问题1:终端显示ImportError: cannot import name 'secure_write',jupyter界面显示jupyter连接失败到后台服务的连接没能建立, 我们会继续尝试重连, 请检查网络连接还有服务配置.
解决办法:首先更新 jupyter_client版本

pip install --upgrade jupyter_client

然后可能会显示"AttributeError: type object 'IOLoop' has no attribute 'initialized' ",这是因为tornado版本过高,不支持jupyter notebook,可以将 降低tornado版本

conda install tornado=4.5
### 在虚拟环境中安装和配置 Jupyter Notebook 的步骤 在 Python 虚拟环境中安装和配置 Jupyter Notebook 是一个常见的需求,以确保不同项目之间的依赖不会产生冲突。以下是详细的步骤说明: #### 1. 创建激活虚拟环境 首先需要创建一个新的虚拟环境激活它。如果使用的是 `conda`,可以按照以下命令操作: ```bash conda create -n myenv python=3.9 conda activate myenv ``` 上述命令将创建一个名为 `myenv` 的虚拟环境指定 Python 版本为 3.9[^3]。 #### 2. 安装 Jupyter Notebook 在激活的虚拟环境中安装 Jupyter Notebook。可以使用 `conda` 或 `pip` 进行安装: ```bash conda install jupyter notebook # 或者使用 pip pip install jupyter ``` 通过此步骤,Jupyter Notebook 将被安装到当前激活的虚拟环境中[^1]。 #### 3. 配置 Jupyter Notebook 使用虚拟环境 为了使 Jupyter Notebook 能够识别当前的虚拟环境,需要安装 `ipykernel` 将其添加到 Jupyter 中: ```bash python -m ipykernel install --user --name=myenv --display-name "Python (myenv)" ``` - `--name` 参数指定了内核的名称。 - `--display-name` 参数定义了在 Jupyter Notebook 界面中显示的名称[^4]。 #### 4. 启动 Jupyter Notebook 完成上述步骤后,可以在虚拟环境中启动 Jupyter Notebook: ```bash jupyter notebook ``` 此时,Jupyter Notebook 将运行在指定的虚拟环境中,且可以通过浏览器访问[^3]。 #### 5. 检查虚拟环境是否生效 在 Jupyter Notebook 的界面中,选择对应的内核(如 `Python (myenv)`),然后运行以下代码以确认虚拟环境是否正确加载: ```python import sys print(sys.executable) ``` 输出结果应指向当前虚拟环境Python 解释器路径,例如: ``` /path/to/conda/envs/myenv/bin/python ``` --- ### 注意事项 - 如果需要在 Windows 系统中使用 TensorFlow,结合 Jupyter Notebook,可以参考安装 `nb_conda` 的方法来管理虚拟环境[^2]。 -Anaconda 环境中,还可以通过图形化界面管理 Jupyter 内核,但命令行方式更为通用和灵活[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值