Bootstrap

Python/Anaconda的安装、配置Powershell来activate虚拟环境、通过修改镜像源和延迟时间来解决下载失败的问题

从-1到0安装Python

很多非计算机专业的同学们也开始用Python了,但由于专业知识的缺乏,往往环境管理很混乱,并且还会踩一堆的坑。为此,特写一个教程方便朋友们。
另:目前Anaconda版本已经默认安装Python3.9,界面也略有改动,但大体思路不变。



一、安装Anaconda

1.Anaconda是什么?

Anaconda指的是一个开源的Python发行版本,可以近似理解为Python的超集。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB)。

2.为什么选择Anaconda?

易于管理,且已经包括很多必要的科学包,不需要再次通过pip等指令安装,方便。且可以安装多个虚拟环境,解决了环境混乱的问题。

3.下载地址

https://www.anaconda.com/products/distribution

4.安装步骤

在安装前,请确保你电脑内并无别的Python环境。如果有且想要使用此教程的,请先卸载,因为会产生环境管理冲突等问题。

请注意你的系统和操作位数应与你选择下载的版本一致。(Windows系统可以右键桌面上的这台电脑-属性查看操作位数,一般都是64位的)

在这里插入图片描述

下面将以Windows10为例讲述如何安装。

5.为什么选择Python3.9

因为官方到2020年即将停止对Python 2的支持。另外,一些深度学习工具如Pytorch也停止了对Python 2的支持。顺便,如果你坚持Python2.7,或者我全都要,后面也会有解决方法,不要着急。

6.如何安装?

安装过程中有几个注意点。

  • 安装的位置需要注意。 个人推荐安装在非系统盘。(曾经安装在系统盘出现过conda.exe丢失的情况)比如这样。
    在这里插入图片描述

  • 同时, 请不要将文件零散的装在盘根目录 ,如下图。

在这里插入图片描述

  • 当出现这个画面了之后请注意。
    在这里插入图片描述

请将第一个勾上,默认是不勾选的。 这个命令指的是将你的Anaconda安装路径添加到系统变量中,这样你就可以在cmd/PowerShell环境里面直接使用Anaconda。

第二个也请勾上,默认是勾选的。 这个命令指的是把Anaconda作为你默认的Python3.7。

7.验证安装

接下来,我们需要验证Anaconda是否正确安装,能否正常使用。

同时按下win+R,在跳出来的“运行”框内输入cmd,回车。在跳出来的cmd窗口输入conda -V或者conda --version后回车,永远都请注意空格和dash的个数。

再输入python,如果出现了交互界面就表示配置成功。

在这里插入图片描述
图中的指令和注释可以看一下,import也可以作为验证包是否正确安装的方法。

8.可能遇到的问题

安装后在cmd或PowerShell环境内输入python或者conda提示

conda/python不是内部或者外部命令

你忘记勾“添加至系统变量”了。

· 简洁暴力的解决方法: 卸载Anaconda,重启,重新安装。

· 稍微复杂一点的正确解决方法:

Win10左下角,点击Cortana搜索,输入path,点击编辑系统环境变量。(或者右键这台电脑-属性-高级系统设置)点击环境变量。

在这里插入图片描述

双击系统变量里的Path

在这里插入图片描述

点击右侧新建,找到你的Anaconda安装位置(很可能和举例的不一样),如D:/Anaconda3,以及此文件夹下的Scripts文件夹,如D:/Anaconda3/Scripts,将这两个文件夹的路径分别添加到环境变量中,一行一个地址。

在这里插入图片描述

添加后依然报错的,检查Anaconda/Scripts文件夹下是否有conda.exe文件,若没有,请重新安装。
如果重新安装了之后依然没有conda.exe文件的,可能你将Anaconda安装在了系统盘,导致冲突等情况发生。此时强烈建议卸载重装,如果想要继续的话,可以按照如下步骤进行:

先下载Miniconda3并安装,此时conda list应该可以正常使用,然后在命令行内输入conda install -y anaconda=5.0.1 conda-build _ipyw_jlab_nb_ext_conf,此时就通过Miniconda将Anaconda正常安装了。

二、使用Anaconda

如果只是临时使用,或者不需要用多个版本的python的,或者不急着使用的,可以从2.2步骤开始
注:最新版本的Python如3.9会有版本不兼容的情况,如遇类似情况可以新建个环境安装低版本Python。

1.创建环境

虚拟环境是Anaconda非常好用的一个特性。你可以近似将其理解为一种虚拟机,内部的操作不会影响到外部环境和别的虚拟环境。因此,你可以建一个虚拟环境,使用python3.8,同时建另外一个环境,设置python2.7等等。你每次直接操作,将会在base环境下进行操作。

conda create -n env_name python=3.8

你可以将env_name替换为自己想要的名字,比如conda create -n nb python=3.8,那你就新建了一个叫nb的环境。此时,python版本号是3.8。如果把3.8改为2.7,你就新建了一个叫nb的python2.7环境。如果不指定python版本,则默认安装最新版本的python。

conda info --envs

显示当前所有的Anaconda环境。

conda create -n dalao --clone nb

这个指令将创建一个叫dalao的环境,这个环境与nb一样。

注意,最初Anaconda使用的环境叫base,也就是说你可以conda create -n dalao --clone base

conda activate env_name & deactivate

前者用来激活一个环境,后者用来退出一个环境。注意:conda activate需要带上环境名,conda deactivate不用,退出后回到base环境。

2.更改镜像源和延迟时间

初始状态下,Anaconda默认的源是自己的官网。而在国内,直接连接Anaconda官网下载会相当卡,可以采取以下操作。

  • 更改延迟时间:

这个方法可以一定程度上解决直连时出现HTTP错误的情况,请在cmd或PowerShell环境内输入

conda config --set remote_read_timeout_secs 1000.0

这个方法延长了conda的延迟时间,因为conda下载久了会自动断开,报HTTP错误。延长延迟时间可以一定程度上解决问题

  • 更换国内镜像源:

推荐清华的镜像源,https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/,可以点击查看具体信息。

在cmd或PowerShell环境内输入以下指令

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

就添加了新的镜像源。至于一些第三方镜像源,比如奇慢无比的pytorch,TUNA也添加了。但请注意,并非是pkgs/free库和pkgs/main库,而是cloud库。可以在第三句指令之前添加以下指令:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

在添加了此channel后,pytorch安装时指令的-c部分即可忽略。
其余请按照网页内的提示自行添加。

3.安装额外包

conda install pkg_name

安装一个叫pkg_name的包,

conda install pkg_name1 pkg_name2 pkg_name3

安装多个包,空格分隔

conda install pkg_name=version

安装指定版本号的包,如conda install tensorflow=1.13.1

conda remove pkg_name

移除指定包

conda update pkg_name

升级指定包

4.解决Win10无法使用PowerShell来activate一个环境的问题

如果你在2.1中创建了一个虚拟环境,并且想要在PowerShell中activate这个虚拟环境,往往会毫无反应。怎么解决这个问题呢?

此方法已经更新,仅供参考,请勿使用。
相信大家都知道Ubuntu里面是可以右键直接在对应位置Open Terminal Here的,简洁明了,免去了cd的繁琐过程。在Windows下,可以按住shift+鼠标右键即可在对应位置打开PowerShell,但此时如果使用activate指令并不会进入虚拟环境内。要解决这个问题,请先右键左下角的win图标,以管理员运行PowerShell。

然后,安装库 conda install -n root -c pscondaenvs pscondaenvs

并更改配置,在命令行输入Set-ExecutionPolicy RemoteSigned,选择Y,回车即可。

更新:

首先,你依然需要执行一下允许脚本的指令,即先右键左下角的win图标,以管理员运行PowerShell。在PowerShell输入Set-ExecutionPolicy RemoteSigned,选择Y,回车即可。
如果不执行此步,会出现以下情况:

在这里插入图片描述
等到完成了之后,再直接打开PowerShell进行下面的步骤即可。

在PowerShell中输入conda init –help后,提示需要输入conda init powershell指令来帮助PowerShell构建环境。

输入conda init powershell指令,运行后结果如下:

在这里插入图片描述

按照提示重启shell窗口,即可看到在PS前出现了默认的base环境。此时更改环境的指令应为conda activate env_nameenv_name即为你在2.1中创建的虚拟环境名称。

在这里插入图片描述

注:如果要更新cmd,则需要打开cmd窗口,输入conda init cmd.exe

如果使用以前的方法,即activate env_nameenv_name即为你在2.1中创建的虚拟环境名称),会出现以下提示,说现在在使用这种方式更新后会提示这个script将会在之后的版本内停止支持,将被废弃,请使用conda对PowerShell的内置支持。

在这里插入图片描述

三、庆贺一下!

恭喜你!实现了从-1到0的突破,现在你可以从0开始学习Python了。

;