Anaconda是专门用于科学计算的Python发行版,可以很方便地解决多版本Python并存、切换以及各种第三方模块安装的问题。更重要的是,当你下载并安装好Anaconda后,它就已经集成了上百个科学计算的第三方模块,例如numpy,pandas,matplotlib,seaborn,statsmodels,sklearn等。用户需要使用这些模块时,直接导入即可,不用再去下载
一、下载
官网最新版本下载:https://www.anaconda.com/products/individual
Anaconda所有版本链接:https://repo.continuum.io/archive/
清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
Anaconda版本自带的python版本之间的对应关系如下:
Release date | conda | python2.7 | python3.4 | python3.5 | python3.6 | python3.7 | python3.8 |
---|---|---|---|---|---|---|---|
2015-02-25 | 3.4.3 | ||||||
2015-05-23 | 2.7.10 | ||||||
2015-09-13 | 3.5.0 | ||||||
2015-12-05 | 2.7.11 | ||||||
2015-12-07 | 3.5.1 | ||||||
2015-12-21 | 3.4.4 | ||||||
2016-03-29 | conda 4.0.5 | Anaconda2-4.0.0(python 2.7.11) | Anaconda3-4.0.0(python 3.5.1) | ||||
2016-06-28 | conda 4.1.4 | Anaconda2-4.1.0(python 2.7.11) | Anaconda3-4.1.0(python 3.5.1) | ||||
2016-06-25 | 2.7.12 | ||||||
2016-06-27 | 3.4.5 | 3.5.2 | |||||
2016-07-08 | conda 4.1.6 | Anaconda2-4.1.1(python 2.7.12) | Anaconda3-4.1.1(python 3.5.2) | ||||
2016-09-28 | conda 4.2.9 | Anaconda2-4.2.0(python 2.7.12) | Anaconda3-4.2.0(python 3.5.2) | ||||
2016-12-17 | 2.7.13 | ||||||
2016-12-23 | 3.6.0 | ||||||
2017-01-17 | 3.4.6 | 3.5.3 | |||||
2017-01-31 | conda 4.3.8 | Anaconda2-4.3.0(python 2.7.13) | Anaconda3-4.3.0(python 3.6.0) | ||||
2017-03-10 | conda 4.3.14 | Anaconda2-4.3.1(python 2.7.13) | Anaconda3-4.3.1(python 3.6.0) | ||||
2017-08-08 | 3.5.4 | ||||||
2017-08-09 | 3.4.7 | ||||||
2017-09-26 | conda 4.3.27 | Anaconda2-5.0.0(python 2.7.13) | Anaconda3-5.0.0(python 3.6.2) | ||||
2017-09-16 | 2.7.14 | ||||||
2017-10-03 | 3.6.3 | ||||||
2017-10-25 | conda 4.3.30 | Anaconda2-5.0.1(python 2.7.14) | Anaconda3-5.0.1(python 3.6.3) | ||||
2017-12-19 | 3.6.4 | ||||||
2018-02-05 | 3.4.8 | 3.5.5 | |||||
2018-02-15 | conda 4.4.10 | Anaconda2-5.1.0(python 2.7.14) | Anaconda3-5.1.0(python 3.6.4) | ||||
2018-03-28 | 3.6.5 | ||||||
2018-05-01 | 2.7.15 | ||||||
2018-05-30 | conda 4.5.4 | Anaconda2-5.2.0(python 2.7.15) | Anaconda3-5.2.0(python 3.6.5) | ||||
2018-06-27 | 3.6.6 | 3.7.0 | |||||
2018-08-02 | 3.4.9 | 3.5.6 | |||||
2018-09-28 | conda 4.5.11 | Anaconda2-5.3.0(python 2.7.15) | Anaconda3-5.3.0(python 3.7.0) | ||||
2018-10-20 | 3.6.7 | 3.7.1 | |||||
2018-12-21 | conda 4.5.12 | Anaconda2-2018.12(python 2.7.15) | Anaconda3-2018.12(python 3.7.1) | ||||
2018-12-24 | 3.6.8 | 3.7.2 | |||||
2019-03-04 | 2.7.16 | ||||||
2019-03-18 | 3.4.10 | 3.5.7 | |||||
2019-03-25 | 3.7.3 | ||||||
2019-04-04 | conda 4.6.11 | Anaconda2-2019.03(python 2.7.16) | Anaconda3-2019.03(python 3.7.3) | ||||
2019-07-02 | 3.6.9 | ||||||
2019-07-08 | 3.7.4 | ||||||
2019-07-24 | conda 4.7.10 | Anaconda2-2019.07(python 2.7.16) | Anaconda3-2019.07(python 3.7.3) | ||||
2019-10-14 | 3.8.0 | ||||||
2019-10-15 | 3.7.5 | ||||||
2019-10-19 | 2.7.17 | ||||||
2019-10-29 | 3.5.8 | ||||||
2019-11-02 | 3.5.9 |
举个例子,假设你想安装python2.7.14,在表格中找到它,它下方的两个个anaconda包(anaconda2-5.0.1、5.1.0)都包含python2.7.14;
假设你想安装python3.6.5,在表格中找到它,它下方的anaconda3-5.2.0就是你需要下载的包;
假设你想安装python3.7.0,在表格中找到它,它下方的anaconda3-5.3.0就是你需要下载的包;
二、安装
安装Anaconda时,安装包的路径和安装目录路径都尽量用英文
安装时记得要勾选添加环境变量(Add Anaconda to my PATH environment variable),后面就不需要手动配置。
安装失败情况:
①如果Anaconda安装完后,丢失了大量的文件,没有Scripts、envs等目录,情况如下:
解决方法①:使用旧版本安装https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
安装时把杀毒软件先关掉,以管理员身份运行安装,选择默认路径,勾选环境变量,最后成功安装。
三、使用
1、Anaconda的各组件如下
1.1、Anaconda Navigtor
用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现
1.2、Anaconda Prompt
一个Anaconda的终端,可以便捷的操作conda环境
1.3、Jupyter notebook
一种 Web 应用,它能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,非常方便研究和教学。
特别适合做数据处理,其用途可以包括数据清理和探索、可视化、机器学习和大数据分析
1.4、Spyder
是一个使用Python语言的开放源代码跨平台科学运算IDE。Spyder可以跨平台,也可以使用附加组件扩充,自带交互式工具以处理数据。
2、修改包管理镜像为国内源
Anaconda的源配置文件位于:C:\Users\11960\.condarc
打开Anaconda Prompt
,后续命令都在这里操作
Anaconda安装成功之后,我们需要修改其包管理镜像为国内源。
# 添加Anaconda的清华镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# TUNA的help中镜像地址加有引号,需要去掉
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
3、安装指定的python版本环境
3.1、安装名为py35
(可任意取)的python3.5
环境
conda create -n py35 python=3.5
3.2、激活名为py35
的环境
conda activate py35
3.3、查看py35
里所安装的包
pip list
3.4、删除py35
环境
conda remove -n py35 --all
3.5、退出当前环境
deactivate
4、conda常用命令
conda是Anaconda下一个用于包管理和环境管理的命令行工具,是pip和vitualenv的组合
4.1、查看Anaconda版本
conda -V # 或者conda --version
4.2、列出所有的环境
conda info -e # 或者conda info --envs 或者conda env list
4.3、查看某个指定环境(py35
)已安装的包
conda list -n py35
4.4、使用conda安装requirement.txt指定的依赖包
conda install --yes --file requirements.txt
5、Anaconda下的 Jupyter Notebook 安装多python环境
方法一:
创建一个名为python36的python3.6的环境
conda create -n python36 python=3.6
激活python36环境
conda activate python36
安装jupyter notebook内核
pip install ipykernel
创建一个jupyter notebook内核显示名称为python36
python -m ipykernel install --name python36
方法二:
也可以在Anaconda Navigator中选择安装jupyter notebook
6、Anaconda下的spyder安装多python环境
方法一:
在Anaconda Prompt先激活虚拟环境python
conda activate py37
在虚拟环境中安装spyder
conda install spyder
安装完成后,Anaconda的开始菜单中会出现带有虚拟环境名称的spyder,点击运行即可
也可以通过虚拟环境的终端进行启动
spider
也可以通过Anaconda Navigator进行启动
方法二:
也可以在Anaconda Navigator中选择安装spyder
7、jupyter notebook使用常见问题汇总:
问题①:在Anaconda Prompt中输入jupyter notebook无法启动,出现File "c:\programdata\anaconda3\lib\site-packages\IPython\utils\io.py", line 88, in <module>
devnull = open(os.devnull, 'w')
FileNotFoundError: [Errno 2] No such file or directory: 'nul'
解决方法:按照报错的路径将文件中devnull = open(os.devnull, 'w')
改为devnull = open('null', 'w')
即可
问题②:在Anaconda Prompt中输入jupyter notebook成功启动后,浏览器界面jupyter内核错误,出现ImportError: DLL load failed while importing win32api: 找不到指定的模块。
解决方法:
①先卸载pywin32(原来装的版本是228)
②安装pywin32==225
问题③:在Anaconda Prompt中输入jupyter notebook无法启动,出现
[C 23:08:25.309 NotebookApp] Bad config encountered during initialization:
[C 23:08:25.309 NotebookApp] The 'kernel_spec_manager_class' trait of <notebook.notebookapp.NotebookApp object at 0x0000011132E27448> instance must be a type, but 'nb_conda_kernels.CondaKernelSpecManager' could not be imported
解决方法:
1、打开anaconda终端,运行命令: jupyter –paths
2、根据终端显示出来的路径,找到 jupyter_notebook_config.json 这个文件
3、用记事本打开这个文件,然后进行以下修改:(注意,为了防止出现什么问题,建议把这个文件先备份)
{
"NotebookApp": {
"nbserver_extensions": {
"nb_conda": true
},
"kernel_spec_manager_class": "nb_conda_kernels.CondaKernelSpecManager"
}
}
这内容是打开的内容,把”kernel_spec_manager_class”: “nb_conda_kernels.CondaKernelSpecManager” 这句话进行删除,一定要注意,这句话上面一行还有个 逗号,也要删除掉。
此处参考:https://www.pianshen.com/article/50581171417/
问题④:在Anaconda Prompt中输入jupyter notebook无法启动,出现from _sqlite3 import * ImportError:DLL load failed:找不到指定的程序
问题原因:缺少sqlite3.dll、sqlite3.def
解决方法:在Sqlite的官网下载dll,找到对应的系统版本,我的是
Precompiled Binaries for Windows,蓝奏云下载地址:https://www.lanzoux.com/iJO6jgfhi7i
下载,解压后,将sqlite3.dll、sqlite3.def拷贝到annconda安装路径的 dlls目录下,即可找到sqlite3模块启动默认浏览器了
此处参考:https://www.cnblogs.com/zwt20120701/p/11938292.html
问题⑤:在Anaconda Prompt中输入jupyter notebook无法启动,出现from . import (constants, error, message, context,
ImportError: DLL load failed: 找不到指定的模块。
具体报错信息如下:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\Scripts\jupyter-notebook-script.py", line 6, in <module>
from notebook.notebookapp import main
File "C:\ProgramData\Anaconda3\lib\site-packages\notebook\notebookapp.py", line 47, in <module>
from zmq.eventloop import ioloop
File "C:\ProgramData\Anaconda3\lib\site-packages\zmq\__init__.py", line 47, in <module>
from zmq import backend
File "C:\ProgramData\Anaconda3\lib\site-packages\zmq\backend\__init__.py", line 40, in <module>
reraise(*exc_info)
File "C:\ProgramData\Anaconda3\lib\site-packages\zmq\utils\sixcerpt.py", line 34, in reraise
raise value
File "C:\ProgramData\Anaconda3\lib\site-packages\zmq\backend\__init__.py", line 27, in <module>
_ns = select_backend(first)
File "C:\ProgramData\Anaconda3\lib\site-packages\zmq\backend\select.py", line 27, in select_backend
mod = __import__(name, fromlist=public_api)
File "C:\ProgramData\Anaconda3\lib\site-packages\zmq\backend\cython\__init__.py", line 6, in <module>
from . import (constants, error, message, context,
ImportError: DLL load failed: 找不到指定的模块。
解决方法:
先卸载了pyzmq
pip uninstall pyzmq
再安装pyzmq
pip install pyzmq
此处参考:https://blog.csdn.net/lwgkzl/article/details/85202207#commentBox
问题⑥:jupyter notebook,无法自动打开谷歌浏览器
打开Anaconda Prompt,执行
jupyter notebook --generate-config
根据给出的路径找到 Jupyter_notebook_config.py文件,我的是C:\Users\xxx\.jupyter\jupyter_notebook_config.py
打开该文件,在文件中搜索找到#c.NotebookApp.notebook_dir = ''
(大约在266行)
在该语句下面添加
import webbrowser
webbrowser.register('chrome',None,webbrowser.GenericBrowser(u'C:\\Users\\xxx\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe'))
c.NotebookApp.browser = 'chrome'
注意:C:\\Users\\xxx\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe
是浏览器的地址,注意路径中分隔符必须是双斜杠\,否则无法识别。
此处参考:https://blog.csdn.net/xiaogr/article/details/99579615
问题⑦:在Anaconda Prompt中输入jupyter notebook启动后,执行代码时出现ModuleNotFoundError: No module named 'prompt_toolkit.enums'
解决方法:
先卸载prompt-tookit
pip uninstall prompt-toolkit
再安装prompt-tookit
pip install prompt-toolkit -i https://pypi.tuna.tsinghua.edu.cn/simple/
问题⑧:在Anaconda Prompt中输入jupyter notebook无法启动,出现ImportError: cannot import name 'Type'
解决方法:安装较低版本的tornado
pip install tornado==5.1.1
问题⑨:在Anaconda Prompt中输入jupyter notebook启动后,执行代码时出现module 'dateutil.tz' has no attribute 'UTC'
解决方法:
pip uninstall python-dateutil
pip install python-dateutil --ignore-installed -i https://pypi.tuna.tsinghua.edu.cn/simple/
8、Spyder使用常见问题汇总:
问题①:在Anaconda Prompt中输入spyder无法启动,出现spyder crashed during last session
解决方法:在Anaconda Prompt中输入
spyder --reset
9、jupyterlab使用常见问题汇总:
问题①:在Anaconda Prompt中输入jupyter lab无法启动,出现AttributeError: type object 'IOLoop' has no attribute 'initialized'
解决方法:
conda install tornado=4.5
10、Anaconda Navigator使用常见问题汇总:
问题①:打开Anaconda Navigator出现TypeError: expected str, bytes or os.PathLike object, not NoneType
Traceback (most recent call last):
File "D:\software\anaconda\lib\site-packages\anaconda_navigator\exceptions.py", line 75, in exception_handler
return_value = func(*args, **kwargs)
File "D:\software\anaconda\lib\site-packages\anaconda_navigator\app\start.py", line 150, in start_app
window = run_app(splash)
File "D:\software\anaconda\lib\site-packages\anaconda_navigator\app\start.py", line 65, in run_app
window = MainWindow(splash=splash, tab_project=False)
File "D:\software\anaconda\lib\site-packages\anaconda_navigator\widgets\main_window.py", line 163, in __init__
self.api = AnacondaAPI()
File "D:\software\anaconda\lib\site-packages\anaconda_navigator\api\anaconda_api.py", line 2185, in AnacondaAPI
ANACONDA_API = _AnacondaAPI()
File "D:\software\anaconda\lib\site-packages\anaconda_navigator\api\anaconda_api.py", line 89, in __init__
self._conda_api = CondaAPI()
File "D:\software\anaconda\lib\site-packages\anaconda_navigator\api\conda_api.py", line 1714, in CondaAPI
CONDA_API = _CondaAPI()
File "D:\software\anaconda\lib\site-packages\anaconda_navigator\api\conda_api.py", line 353, in __init__
self.sys_rc_path = join(self.ROOT_PREFIX, '.condarc')
File "D:\software\anaconda\lib\ntpath.py", line 76, in join
path = os.fspath(path)
TypeError: expected str, bytes or os.PathLike object, not NoneType
解决方法:删除
C:\Users\xxx\.condarc
参考链接:
- https://segmentfault.com/q/1010000019335583
- https://github.com/ContinuumIO/anaconda-issues/issues/10156
11、Anaconda使用常见问题汇总:
问题①:anaconda创建虚拟环境时出现无法定位程序输入点OPENSSL_sk_new_reserve于动态链接库libcrypto-1_1-x64.dll上
解决方法:
进入Anaconda\DLLs目录,查看libssl-1_1-x64.dll的日期
进入Anaconda\Library\bin目录,查看libssl-1_1-x64.dll的日期,比较两者日期,日期早的替换日期晚的,替换之前注意提前做好备份
问题②:anaconda创建虚拟环境时出现无法定位程序输入点?PyWInObject_FormULARGE_INTEGER@@YAPEAU_object@@AEBT_ULARGE_INTEGER@@@Z于动态链接库E:\ProgramData\Anaconda3\envs\python36\Library\bin\pythoncom36.dll上
解决方法:
进入Anaconda\Library\bin目录,将目录下的pythoncom36.dll
文件,替换出问题的E:\ProgramData\Anaconda3\envs\python36\Library\bin\pythoncom36.dll