一、Anaconda
1.1 什么是Anaconda
Anaconda是一个用于科学计算的Python发行版,提供了包管理与环境管理(即使用Anaconda的目的)的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。
Anaconda利用工具/命令conda
来进行package和environment的管理,并且已经包含了Python和相关的配套工具。
1.2 下载安装方式
python与anaconda安装(先安装了python后安装anaconda,基于python已存在的基础上安装anaconda
注意: 在Installling过程中, 该软件会在preparing transaction working done anaconda这一步停留很久(我的电脑停留了15分钟左右), 并不是卡死。
最后,添加anaconda的环境变量(如果之前安装了Python,需要将Python的环境变量删除),添加变量如下:
D:\Python\Anaconda\
D:\Python\Anaconda\Scripts\
D:\Python\Anaconda\Library\bin\
检验是否安装成功:
主要是以下命令行利用进行cmd验证:
- conda --version
- anaconda --version
- python
注意:其中
conda -version
语法错误 ,conda --version
才为正确语法
1.3 anaconda安装应用
-
Anaconda Navigtor :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现。
-
Jupyter notebook :基于web的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。
-
spyder :一个使用Python语言、跨平台的、科学运算集成开发环境。
-
anaconda powershell prompt和anaconda prompt :类似于cmd终端,但anaconda powershell prompt 多出了很多linux命令。另外,虽然pip和conda安装包或者创建虚拟环境,但是anaconda promote直接就是在anaconda的安装路径下了,powershell promote应该默认路径是C盘,安装东西需要进入你需要安装的路径才行。anaconda powershell prompt和anaconda prompt具体工作原理
1.4 管理虚拟环境
conda 可以为你不同的项目建立不同的运行环境。
注意:以下部分操作是可以在Anaconda Navigator图形界面程序中来实现的
创建新的虚拟环境
1、命令 | conda create --name <env_name> <package_names> |
---|---|
<env_name> | 即创建的环境名称。建议以英文命名,且不加空格,名称两边不加尖括号“<>”。 |
<package_names> | 即安装在环境中的包名。名称两边不加尖括号“<>”。 |
实例 | conda create -n python36 python=3.6 numpy pandas |
命令作用 | 上面的实例命令中,是创建名为python36的环境,并且指定了python版本为3.6,同时安装了numpy、pandas包 |
创建目录 | 默认情况下,新创建的环境将会被保存在/Users/<user_name>/anaconda3/env目录下,其中,<user_name>为当前用户的用户名。 |
指定python版本 | 如果要安装指定的版本号,则只需要在包名后面以=和版本号的形式执行,如 python=3.6 |
同时安装多个包 | 直接在<package_names>后以空格隔开,添加多个包名即可,如numpy pandas |
2、命令 | conda create --prefix=/home/conda_env/mmcv python=3.7 |
说明 | 在指定位置/home/conda_env/mmcv 安装conda虚拟环境。注意:路径/home/conda_env是自己先建立好的,也就是必须存在这个路径,后面的mmcv就是你想给这个环境取的一个名称 |
利用图像界面Anaconda Navigator进行环境配置具体流程
注意:当想将新建虚拟环境安装到自己已经修改的默认虚拟环境路径时,必须以管理员身份运行Anaconda Prompt
进入或切换虚拟环境
1、命令 | Linux、macOS 命令 : source activate <env_name> Windows命令 : activate <env_name> |
---|---|
<env_name> | 需要进入或者要切换的目标环境名 |
实例 | activate python36 |
命令作用 | 进入或者切换到名为python36的环境下 |
如果不指定名 | 如果创建环境后安装Python时没有指定Python的版本,那么将会安装与Anaconda版本相同的Python版本,即如果安装Anaconda第2版,则会自动安装Python 2.x;如果安装Anaconda第3版,则会自动安装Python 3.x。 |
2、命令 | activate |
实例 | activate |
命令作用 | activate 能将我们引入anaconda设定的虚拟环境中, 如果你后面什么参数都不加那么会进入anaconda自带的base环境。 你可以输入python试试, 这样会进入base环境的python解释器, 如果你把原来环境中的python环境去除掉会更能体会到, 这个时候在命令行中使用的已经不是你原来的python而是base环境下的python.而命令行前面也会多一个**(base)** 说明当前我们处于的是base环境下. |
退出当前环境
Linux、macOS 命令 | source deactivate |
---|---|
Windows命令 | conda deactivate |
提示 | 当执行退出当前环境,回到root环境命令后,原本行首以“(env_name)”或“[env_name]”开头的字符将不再显示。 |
查看已创建环境
命令 | conda info --envs 或 conda info -e 或 conda env list |
---|---|
实例 | |
提示 | 结果中星号“*****”所在行即为当前所在环境。macOS系统中默认创建的环境名为“base”。 |
复制虚拟环境
命令 | conda create --name <new_env_name> --clone <copied_env_name> |
---|---|
<new_env_name> | 即为复制之后新环境的名称。环境名两边不加尖括号“<>” |
<copied_env_name> | 即为被复制/克隆环境名。环境名两边不加尖括号“<>” |
实例 | conda create --name python36_new --clone python36 |
命令作用 | 即为克隆名为“python36”的环境,克隆后的新环境名为“python36_new”。此时,环境中将同时存在“python36”和“python36_new”环境,且两个环境的配置相同。 |
删除虚拟环境
命令 | conda remove --name <env_name> --all |
---|---|
<env_name> | 需要删除的环境名字 |
实例 | conda remove --name python39 --all |
命令作用 | 删除环境python39中的所有内容 |
命令最后面的
--all
不能删除,若想查看该部分的具体含义以及类似指令,在cmd里面输入conda remove -h
1.5 管理软件工具包
conda 可以为你不同的项目管理包。
注意:以下部分操作是可以在Anaconda Navigator图形界面程序中来实现的
查找可供安装的包版本
精确查找命令 | conda search --full-name <package_full_name> |
---|---|
–full-name | 为精确查找的参数 |
<package_full_name> | 是被查找包的全名。包名两边不加尖括号“<>” |
实例 | conda search --full-name python |
实例命令作用 | 查找全名为“python”的包有哪些版本可供安装 |
模糊查找命令 | conda search
|
| 是查找含有此字段的包名。此字段两边不加尖括号“<>” |
获取当前环境中包安装信息
命令 | conda list |
---|---|
作用 | 执行上述命令后将在终端显示当前环境已安装包的包名及其版本号。 |
安装包
1.在指定环境中安装包命令 | conda install --name <env_name> <package_name> |
---|---|
<env_name> | 即将包安装的指定环境名。环境名两边不加尖括号“<>” |
<package_name> | 即要安装的包名。包名两边不加尖括号“<>” |
实例 | conda install --name python36 pandas |
实例命令作用 | 即在名为“python36”的环境中安装pandas包。 |
2.在当前环境中安装包命令 | conda install <package_name> |
<package_name> | 即要安装的包名。包名两边不加尖括号“<>” |
3.安装指定版本的包 | conda install package=version |
说明 | 安装版本为version的包package |
4.使用pip安装包命令 | pip install <package_name> |
<package_name> | 为指定安装包的名称。包名两边不加尖括号“<>” |
使用场景 | 当使用conda install无法进行安装时,可以使用pip进行安装。例如:see包 |
实例 | pip install see |
作用 | 安装see包 |
注意 | pip只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用pip进行安装包,则需要先切换到指定环境中,再使用pip命令安装包。 pip无法更新python,因为pip并不将python视为包。 pip可以安装一些conda无法安装的包;conda也可以安装一些pip无法安装的包。因此当使用一种命令无法安装包时,可以尝试用另一种命令。 |
注意:当遇到一些包无法在你设置的镜像源channels里面找到,可以到网站https://anaconda.org里面寻找镜像源里面没有的包。
更新包
更新所有包命令 | conda update --all 或 conda upgrade --all |
---|---|
建议 | 在安装Anaconda之后执行上述命令更新Anaconda中的所有包至最新版本,便于使用。 |
更新指定包 | conda update <package_name> 或conda upgrade <package_name> |
<package_name> | 为指定更新的包名。包名两边不加尖括号“<>” |
实例 | conda update pandas numpy matplotlib |
作用 | 更新多个指定包,则包名以空格隔开,向后排列;即更新pandas、numpy、matplotlib包 |
1)注意:如果想将某个包更新到指定版本,可以尝试用
conda install
2)update------------Updates conda packages to the latest compatible version.
upgrade----------Alias for conda update.
翻译一下:upgrade是conda update的别称,即conda update --all 与 conda upgrade --all 无区别
卸载包
卸载指定环境中的包命令 | conda remove --name <env_name> <package_name> |
---|---|
<env_name> | 即卸载包所在指定环境的名称。环境名两边不加尖括号“<>” |
<package_name> | 即要卸载包的名称。包名两边不加尖括号“<>” |
实例 | conda remove --name python36 pandas |
作用 | 即卸载名为“python36”中的pandas包。 |
卸载当前环境中的包 | conda remove <package_name> |
<package_name> | 即要卸载包的名称。包名两边不加尖括号“<>” |
实例 | conda remove pandas |
作用 | 即在当前环境中卸载pandas包。 |
1.6 修改镜像源
如果安装的库过大,有时候会下载很长的时间,这是因为所安装的库都在国外,若想提升下载速度,可通过选择国内的镜像来解决这一问题。
永久修改conda镜像源
利用笔记本打开C:\Users\计算机用户名.condarc,在channels下面添加镜像源。
channels:
-https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
ssl_verify: true
show_channel_urls: true
也可以利用命令行的方式来进行操作。假设更换到国内的清华大学地址,具体命令行如下:
# 添加Anaconda的TUNA镜像
# TUNA的help中镜像地址加有引号,需要去掉
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
执行完上述命令后,会生成~/.condarc
(Linux/Mac)或C:UsersUSER_NAME.condarc
文件,记录着我们对conda的配置,直接手动创建、编辑该文件是相同的效果。
修改pip镜像地址
临时修改pip镜像地址方法如下:
#这样就会从清华这边的镜像去安装numpy库。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
永久修改pip镜像地址方法如下:
windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
常用镜像源
阿里 https://mirrors.aliyun.com/pypi/simple
清华 https://pypi.tuna.tsinghua.edu.cn/simple
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple
添加清华镜像:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
添加交大镜像:
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/cloud/conda-forge/
常用命令行
- 显示目前的源conda config --show channels
- 删除源conda config --remove channels
- 添加清华源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
1.7 修改虚拟环境和缓存默认路径
修改虚拟环境和缓存默认路径主要有3种方法。其中,方法一可能会有点问题,即 .condarc 文件里面没有内容。
(1)直接修改 .condarc 文件
默认情况下,conda 创建的新环境以及过往安装的模块缓存都存储在用户目录下,这一点不会在 conda (user-specific)配置文件 $HOME/.condarc 中体现出来,除非用户修改了默认设置。
当前的默认信息可通过 conda info
指令打印查看,其中不仅能够查看当前默认环境路径和默认缓存路径,还能查看conda的源设置。(另外,我们还可以在C:\Users\xxxx\.conda\
路径中找到.condarc 文件,用记事本直接打开)
(base) C:\Users\zouhu>conda info
active environment : base
active env location : D:\Python\Anaconda
shell level : 1
user config file : C:\Users\zouhu\.condarc
populated config files : C:\Users\zouhu\.condarc
conda version : 4.12.0
conda-build version : 3.21.8
python version : 3.9.12.final.0
virtual packages : __cuda=11.6=0
__win=0=0
__archspec=1=x86_64
base environment : D:\Python\Anaconda (read only)
conda av data dir : D:\Python\Anaconda\etc\conda
conda av metadata url : None
channel URLs : https://repo.anaconda.com/pkgs/main/win-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/win-64
https://repo.anaconda.com/pkgs/r/noarch
https://repo.anaconda.com/pkgs/msys2/win-64
https://repo.anaconda.com/pkgs/msys2/noarch
package cache : D:\Python\Anaconda\pkgs #缓存依次存储在下面几个目录,第一个为默认存储目录
C:\Users\zouhu\.conda\pkgs
C:\Users\zouhu\AppData\Local\conda\conda\pkgs
envs directories : C:\Users\zouhu\.conda\envs #环境依次存储在下面几个目录,第一个为默认存储目录
D:\Python\Anaconda\envs
C:\Users\zouhu\AppData\Local\conda\conda\envs
platform : win-64
user-agent : conda/4.12.0 requests/2.27.1 CPython/3.9.12 Windows/10 Windows/10.0.19044
administrator : False
netrc file : None
offline mode : False
路径的设置可以通过编辑 $HOME/.condarc 来实现。添加或修改 $HOME/.condarc 中的 env_dirs 和 pkgs_dirs 配置项分别设置环境和缓存路径,按顺序第一个路径作为默认存储路径,搜索环境和缓存时按先后顺序在各目录中查找。如下例,新建环境将存储在 D:\data\xxx\Miniconda\envs
下,缓存文件将存储在 D:\data\xxx\Miniconda\pkgs
下,从而避免了用户目录空间不足带来的窘迫。
// 配置示例
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls: true
envs_dirs:
- D:\data\xxx\Miniconda\envs
- C:\Users\xxx\AppData\Local\conda\conda\envs
- C:\Users\xxx\.conda\envs
- C:\ProgramData\Anaconda\Miniconda3\envs
pkgs_dirs:
- D:\data\xxx\Miniconda\pkgs
- C:\Users\xxx\AppData\Local\conda\conda\pkgs
- C:\Users\xxx\.conda
- C:\ProgramData\Anaconda\Miniconda3\pkgs
(2)利用conda命令修改config
1)查看配置 conda config --show
默认虚拟环境安装位置为第一个 C:\Users\zouhu.conda\envs
2)修改默认安装位置
其中添加、删除envs_dirs的具体语法如下:
conda config --add envs_dirs dir
conda config --remove envs_dirs dir
将默认虚拟环境安装位置修改为:D:\Python\Anaconda\envs
,则具体指令为:
conda config --add envs_dirs D:\Python\Anaconda\envs
3)验证修改结果:
(3)指定位置安装conda虚拟环境
主要是利用以下命令:
conda create --prefix=/home/conda_env/mmcv python=3.7
注意:路径/home/conda_env是自己先建立好的,也就是必须存在这个路径,后面的mmcv就是你想给这个环境取的一个名称
1.8 连接pycharm
1.9 requirements.txt的导出与使用
requirements.txt 文件解释:一个用于一次性保存在python包的一个文件,方便用户安装比较多的包。
conda install -c cctbx202008 msgpack-python
pip install -i https://pypi.anaconda.org/meepio/simple async-generator
conda install python==3.7.10
(1)使用requirements.txt
- 在conda环境下安装指定目录下的requirements
conda install --yes --file D:\dell\Desktop\requirements.txt
或者在cmd里面cd进入指定目录,执行以下语句:
conda install --yes --file requirements.txt
但是这里存在一个问题,如果requirements.txt中的包不可用,则会抛出“无包错误”‘
$ while read requirement; do conda install --yes $requirement; done < requirements.txt
如果想要在conda命令无效时使用pip命令来代替,那么使用如下命令:
$ while read requirement; do conda install --yes $requirement || pip install $requirement; done < requirements.txt
注意:一般遇到着这种问题,可以到网站https://anaconda.org里面寻找镜像源里面没有的包。
2)pip安装requirements.txt
新环境中通过此文件可以直接安装模块(注:需要先切换到 requirements.txt
的上级目录,也就是项目根目录),在项目根目录下执行以下语句:
pip install -i http://mirrors.aliyun.com/pypi/simple/ -r requirements.txt
也可以安装指定目录下的requirements.txt文件,执行以下语句:
pip install -r D:\odoo13\odoo\requirements.txt
(2)导出requirements.txt
1)利用pip命令
cmd切换至项目根目录(这个文件通常在最外层)执行,然后执行以下语句:
pip freeze > requirements.txt
这时候项目根目录就会多一个requirements.txt
文件,里面会记录我们项目需要的所以模块信息(里面是什么内容我们不用管,如果你有这个心情可以去研究一下),将项目拷贝到新环境中的时候连这个文件一起带上
2)利用conda命令
可以导出conda环境,导出格式为.yml文件
conda env export > requirements.yml
此时你的电脑需要这个conda环境,可以直接用这个yml文件在你的电脑上创造出一个同名字,同扩展包的环境,你只需要进入cmd,然后直接运行下面代码就可以了:
conda env create -f requirements.yml
二、Jupyter notebook
2.1 什么是Jupyter notebook
官方对Jupyter Notebook的介绍是:Jupyter notebook是一种 Web 应用程序,能让用户开发,记录、执行代码和展示结果。
2.2 下载安装方式
Jupyter notebook主要有两种下载方式:
- 下载安装anaconda,因为anaconda里面自带了Jupyter notebook。
- 使用Pip安装Jupyter notebook,直接在cmd里面输入命令
pip3 install jupyter
即可。
2.3 启动Jupyter Notebook
启动Jupyter Notebook主要有两种方法:
1、在Anaconda Navigator的Home界面,选择Jupyter Notebook启动。
2、在终端cmd中输入Jupyter notebook(可以用来打开任意路径的文件夹)。成功启动Jupyter notebook后,浏览器中弹出Jupyter notebook界面。注意:此时终端不能关闭,若关闭,Jupyter Notebook也将无法使用。
2.4 修改主目录文件夹
Jupyter Notebook默认的主目录是“我的文档”,在Jupyter Notebook中也会显示“我的文档”中其他无关文件,影响文件的查找。因此有必要修改默认的主目录。
修改步骤如下:
(1)在终端输入jupyter notebook --generate-config
回车,下方显示配置文档所在位置。
(2)打开此文件夹,右键点击jupyter_notebook_config.py文件,使用记事本打开。在记事本中查找(Ctrl+F)NotebookApp.notebook_dir
所在位置,将后边的文件夹修改为你喜欢的文件夹位置(我添加的文件路径为D:\Python\Jupyer
)即可。
注意:需要将该行前面的“#”去掉 (即取消注释)。另外,第一个步骤不能省掉,jupyter_notebook_config.py文件一开始是没有的,是由步骤一的操作而生成的
(3)验证是否修改成功。启动Jupyter notebook,新建ipynb文件,看新建的文件是否在修改的主目录文件夹里。
2.5 打开任意路径的文件
主要有以下4种方法(强烈推荐方法2):
(1)在CMD模式中打开需要打开的目录,然后打开Jupyter Notebook
(2)切换至工作目录->键盘Shift+鼠标右键( 打开命令窗口)-> Jupyter Notebook
(3)直接永久修改主目录文件夹(具体)
(4)更改快捷方式的起始目录的方法
2.6 文件操作
可以在Web端或者资源管理器中,进行文件夹和文件的移动、删除等操作。
-
右侧点击“upload”可以上传加载本地文件。
-
右侧点击“new”——“Folder”即可新建文件夹。
-
右侧点击“new”——“Python 3”即可新建一个ipynb文件
参考教程
Anaconda介绍、安装及使用教程 - 知乎 (zhihu.com)
Anaconda的卸载与安装(tensorflow+Keras+spyder+添加镜像源)