使用Anaconda实现Python2和Python3共存及相互转换

装载:https://wsgzao.github.io/post/anaconda/php

文章目录python

  1. 1. 前言linux

  2. 2. 更新历史git

  3. 3. 为何选择Anacondagithub

    1. 3.1. 什么是 Anacondaweb

    2. 3.2. 什么是 condadjango

    3. 3.3. Anaconda 的优势json

    4. 3.4. Anaconda中的重要组件windows

  4. 4. 安装Anaconda服务器

    1. 4.1. 设置Path变量

    2. 4.2. python2和python3版本转换

    3. 4.3. Anaconda 镜像

  5. 5. conda安装django实践

  6. 6. conda经常使用命令

  7. 7. anaconda与vscode整合

前言

初学Python时,老是被python的两个不太兼容的版本搞得头昏脑胀。按目前的发展趋势,python将来的主流版为python3。可是咱们常常会遇到一些颇有意思代码使用的是python2版本。因而咱们须要同时拥有python2和python3的运行环境。这里介绍一个强大的软件Anaconda,它实现python2和python3两个版本的共存,而且能够相互转换。Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。

使用Anaconda轻松解决Python2和Python3共存

更新历史

2018年05月04日 - 初稿

阅读原文 - https://wsgzao.github.io/post/anaconda/

扩展阅读

Anaconda - https://anaconda.org/


为何选择Anaconda

Anaconda 其实是一个软件发行版,它附带了 conda、Python 和多个科学包及其依赖项。应用程序 conda 是包和环境管理器。Anaconda 的下载文件比较大(约 500 MB),由于它附带了 Python 中最经常使用的数据科学包。若是只须要某些包,或者须要节省带宽或存储空间,也可使用 Miniconda 这个较小的发行版(仅包含 conda 和 Python)。

什么是 Anaconda

Anaconda是专一于数据分析的Python发行版本,包含了conda、Python等多个科学包及其依赖项。做为好奇宝宝的你是否是发现了一个新名词 conda,那么你必定会问 conda 又是什么呢?

什么是 conda

conda 是开源包(packages)和虚拟环境(environment)的管理系统

packages 管理: 可使用 conda 来安装、更新 、卸载工具包 ,而且它更关注于数据科学相关的工具包。在安装 anaconda 时就预先集成了像 Numpy、Scipy、 pandas、Scikit-learn 这些在数据分析中经常使用的包。另外值得一提的是,conda 并不只仅管理Python的工具包,它也能安装非python的包。好比在新版的 Anaconda 中就能够安装R语言的集成开发环境 Rstudio。

虚拟环境管理: 在conda中能够创建多个虚拟环境,用于隔离不一样项目所需的不一样版本的工具包,以防止版本上的冲突。对纠结于 Python 版本的同窗们,咱们也能够创建 Python2 和 Python3 两个环境,来分别运行不一样版本的 Python 代码。

知道 是什么(what) 的同时,咱们也须要问一问 为何(why)。那么,为何要选择用Anaconda呢?

Anaconda 的优势

Anaconda的优势总结起来就八个字:省时省心、分析利器。

省时省心: Anaconda经过管理工具包、开发环境、Python版本,大大简化了你的工做流程。不只能够方便地安装、更新、卸载工具包,并且安装时能自动安装相应的依赖包,同时还能使用不一样的虚拟环境隔离不一样要求的项目。

分析利器: 在 Anaconda 官网中是这么宣传本身的:适用于企业级大数据分析的Python工具。其包含了720多个数据科学相关的开源包,在数据可视化、机器学习、深度学习等多方面都有涉及。不只能够作数据分析,甚至能够用在大数据和人工智能领域。

解决了 是什么 以及 为何 的问题后,下面让咱们看一下 怎么作(How)

说明一下conda的设计理念——conda将几乎全部的工具、第三方包都当作package对待,甚至包括python和conda自身!所以,conda打破了包管理与环境管理的约束,能很是方便地安装各类版本python、各类package并方便地切换。

Anaconda中的重要组件

Anaconda Navigator :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也能够在 Navigator 中手工实现。

Jupyter notebook :基于web的交互式计算环境,能够编辑易于人们阅读的文档,用于展现数据分析的过程。

qtconsole :一个可执行 IPython 的仿终端图形界面程序,相比 Python Shell 界面,qtconsole 能够直接显示代码生成的图形,实现多行代码输入执行,以及内置许多有用的功能和函数。

spyder :一个使用Python语言、跨平台的、科学运算集成开发环境。Spyder的最大优势就是模仿MATLAB的“工做空间”。

Conda : Conda的包管理就比较好理解了,这部分功能与pip相似。

安装Anaconda

Anaconda 可用于 Windows、Mac OS X 和 Linux。能够在官网上找到安装程序和安装说明
https://www.anaconda.com/download/

若是计算机上已经安装了 Python,这不会有任何影响。实际上,脚本和程序使用的默认 Python 是 Anaconda 附带的 Python。这里须要注意的是选对本身操做系统对应的版本。安装完后打开cmd,输入conda list能够查看当前安装的内容。输入conda upgrade –all,能够更新默认环境下的全部包。并在提示是否更新的时候输入y(Yes)以便让更新继续。初次安装下的软件包版本通常都比较老旧,所以提早更新能够避免将来没必要要的问题。

本人使用的操做系统:Win10,前往anaconda官网下载对应的版本,本人选择的是Python3.6 + Python 2.7(实际上下载一个便可,推荐3.6)

设置Path变量

默认安装不会自动添加全局变量,若是有需求能够手动配置Path,以Anaconda2为例

# 将加入到PATH路径
D:\Programs\Anaconda2
D:\Programs\Anaconda2\Scripts

# 在cmd输入
python -V
Python 2.7.14 :: Anaconda, Inc.

在win10环境下进行傻瓜式安装。当安装完成时,计算机便具有了Python3.6的环境,推荐使用 Anaconda Prompt 进入命令行python2和python3版本转换

接下来,在cmd的环境下,输入如下命令安装Python2.7的环境

conda create -n python27 python=2.7 anaconda

上面的代码建立了一个名为python27的python2.7的环境,最后一个参数表示安装anaconda下python2.7的全部默认包,这个参数时可选的。

咱们进入cmd环境,如今默认的python版本时python3.6,只须要一行简单的代码就能够转为python2.7的环境

activate python27

此时本窗口下的python版本变为了python2.7,那么你确定猜到了恢复到python3.6的命令

deactivate python27

其实呢,通常没有必要恢复到原环境。只要打开一个新的cmd窗口,默认的python版本就是python3.6

Anaconda 镜像

这里使用了清华大学开源软件镜像站tuna提供的资源,在此表示感谢

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

Anaconda 安装包能够到如下地址分流下载
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

由于Anaconda.org的服务器在国外,conda下载的速度常常很慢。能够设置国内的镜像源来加速:

# TUNA 还提供了 Anaconda 仓库的镜像,运行如下命令便可添加 Anaconda Python 免费仓库
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 --set show_channel_urls yes

# 执行完上述命令后,会生成配置文件记录着咱们对conda的配置,直接手动建立、编辑该文件是相同的效果

# Linux/Mac
~/.condarc

# Windows
C:\Users\USER_NAME\.condarc

# 运行测试一下吧
conda install numpy

原始.condarc


image.png

修改改后.condarc


image.png



常见问题:conda没法安装更新,报错内容以下:

CondaHTTPError: HTTP 000 CONNECTION FAILED for url https://repo.anaconda.com/pkgs/free/win-64/repodata.json.bz2
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.

If your current network has https://www.anaconda.com blocked, please file
a support request with your network engineering team.

SSLError(MaxRetryError(‘HTTPSConnectionPool(host=\’repo.anaconda.com\’, port=443): Max retries exceeded with url: /pkgs/free/win-64/repodata.json.bz2 (Caused by SSLError(SSLError(“bad handshake: SysCallError(10054, \’WSAECONNRESET\’)”,),))’,),)

A reportable application error has occurred. Conda has prepared the above report.
If submitted, this report will be used by core maintainers to improve
future releases of conda.
Would you like conda to send this report to the core maintainers?

# 编辑.condarc注释defalts
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
#  - defaults
ssl_verify: true
show_channel_urls: true



conda安装django实践

如下操做为 anaconda python3.6 环境下进入Anaconda Prompt安装django1.11的实践过程

# 在python3.6环境下进入Anaconda Prompt建立django1.x专用虚拟环境
conda create -n django1.x
# 激活专用虚拟环境
conda activate django1.x
# 查看conda当前django可用版本
conda search django
conda install django==1.11.10
# 切换到虚拟环境家目录
cd C:\Users\wsgzao\AppData\Local\conda\conda\envs\django1.x
# 建立项目
django-admin.py startproject myweb
# 建立app
python manage.py startapp myapp
# 启动Django中的开发服务器
python manage.py runserver
# 帮助文档
python manage.py -h
# Django命令
python manage.py <command> [options]

conda经常使用命令

最新版的conda是从site-packages文件夹中搜索已经安装的包,不依赖于pip,所以能够显示出经过各类方式安装的包。conda将conda、python等都视为package,所以彻底可使用conda来管理conda和python的版本

# 列出全部已安装的包
conda list
# 安装软件包,同时它会自动安装此软件包的依赖项 
conda install package_name
# 同时安装多个包
conda install numpy pandas
# 安装指定版本的包
conda install python=2.7
# 安装离线包
conda install /package-path/package-filename.tar.bz2
# 卸载包
conda remove package_name
# 更新环境中的全部已安装的包
conda update/upgrade --all
# 更新conda,保持conda最新
conda update conda
# 更新anaconda
conda update anaconda
# 更新python
conda update python
# 查看conda安装信息
conda info
# 查看conda帮助
conda help
# 搜索能够安装的包
conda search package_name
# 建立conda虚拟环境
conda create -n env_name
# 在这里,-n env_name 设置环境的名称(-n 是指名称),而 list of packages 是要安装在环境中的包的列表
conda create -n env_name list of packages
# 能够建立具备特定 Python 版本的环境
conda create -n py2.7.14 python=2.7.14
# 查看conda版本
conda -V
# 进入环境
# linux 下用 
source activate env_name
# windows 下用
activate env_name
# 离开环境
# linux 下用 
source deactivate
# windows 下用
deactivate
# 列出环境
conda env list
# 删除环境
conda env remove -n env_name
# 导出环境将包保存为 YAML,输出环境中的全部包的名称(包括 Python 版本)
conda env export > environment.yaml
# 加载环境
conda env create -f environment.yaml

anaconda与vscode整合

打开vscode,选择文件-首选项-设置,搜索python.pythonPath

{
    "editor.minimap.enabled": true,
    "editor.renderControlCharacters": false,
    "editor.renderWhitespace": "all",
    "python.disablePromptForFeatures": [
        "pylint"
    ],
    "python.pythonPath": "C:\\ProgramData\\Anaconda3",
    "workbench.iconTheme": "vscode-icons"
}
相关文章
相关标签/搜索