首页 🎯机器学习

我以前学习Python和机器学习使用的是Python和pip分离的方式,现在希望从TensorFlow转Pytorch深度学习框架,但是由于原来pip管理的混乱,我发现Pytorch框架调入失败,于是下定决心让整个管理系统更有序,所以开始转Anaconda,有了如下一篇文章。
需要首先提示的一点,有很多人说要装Anaconda就需要先把原来的Python卸载,以免冲突。但是我把Anaconda配置好后,发现原来的Python并没有影响到我Anaconda环境下的Python版本或包。再但是,老版本Python和新按照的Anaconda共存,会显得非常冗余,而且指不定哪天你引入的编程环境就出问题了呢?总的来说就是:并不是装了Anaconda就必须清理原来单独的Python,但是,推荐你留下Anaconda就ok啦!
(手动换行)
刚从Python3.7+pip转Anaconda+conda的配置坑里爬出来,写篇blog记录一些细节,现在开始。

1 为啥要装Anaconda?

下面的几点是我想到哪写到哪,比较零散,大家看个大概,懂个意思就🆗

  • Anaconda是Python的一个发行版,其实就是一个Python的集成环境管理器,其中包含了Python以及许多常用的库,比如numpy、pandas等,另外!还包含了一个名为conda的包管理器。
  • Anaconda一举多得,一旦装了Anaconda,就代表你已经装好了Python编译器以及众多常用包(除了第三方框架之类的)
  • Anaconda可以在其GUI下操作,也就是Anaconda Navigator。这种可视化的包管理,远远比单独装Python单独在终端pip装包要方便得多!况且,终端pip安装东西还比较难以去管理安装路径(所以我曾让C盘扛得太多ㄒoㄒ),而Anaconda就是一个集成管理器,每一个包,每一个虚拟环境的位置,都明明白白地存在着~
  • 我使用Anaconda之后最大的感触:可以创建多个虚拟环境! 如果既想使用TensorFlow,又想使用Pytoch,然后又不希望不同的库产生冲突,那么Anaconda的虚拟环境就是最好的选择!我在不同的虚拟环境下放不同的框架,不同的库,相互独立,只需要我每次切换到需要的环境下编程就可!美哉美哉啊~

2 下载并安装Anaconda

这里有人说不推荐在官网下载,比较慢。但是我下载的感觉是挺快的,这个就不详细描述了,附上官网链接:Anaconda Installers
我安装的版本如下图:
在这里插入图片描述
安装流程呢,大多数步骤都比较随性,但是!有两步非常关键!直接放图。
下图中我个人感觉问题不大,因为我选择了Just Me,能正常使用。
在这里插入图片描述
下图注意啦!!!第一个不选上,第二个选上!!!别问为什么,总结的别人的踩坑点...
在这里插入图片描述

3 配置Anaconda的系统环境变量

如果你写过代码,那么环境变量一定不陌生啦,和C语言 Go语言 Java语言...一样,在高级系统设置中进行环境变量的配置,按照教程,在系统变量的path中主要添加如下几项:

E:\Anaconda(Python需要)
E:\Anaconda\Scripts(conda自带脚本)
E:\Anaconda\Library\mingw-w64\bin(使用C with python的时候) E:\Anaconda\Library\usr\bin
E:\Anaconda\Library\bin(jupyter notebook动态库)

注意!添加的是你自己的Anaconda路径,而不是上面示例中的E:

做到这里,按道理讲你的Anaconda就已经配置完成,重新打开cmd检验是否配置成功,参见下图。
在这里插入图片描述

4 在Anaconda中创建属于你的虚拟环境

在系统中找到Anaconda Navigator管理软件,是这样的界面。很清晰对不对!我来大概介绍一下功能:如图的界面是在默认环境base(root)下的功能面板,其中Prompt是管理环境的命令行终端,Jupyter Notebook、Spyder、PyCharm等等都是用于编写程序的软件(根据自己情况选择)。
在这里插入图片描述
接下来是重头戏——Environment虚拟环境。看下图,在默认环境base下,已经拥有了右侧众多的包和库,这些都是可以直接import进去的。然而,默认的环境是没有框架的,比如TensorFlow、Pytorch等。我这次换上Anaconda的目的就是更方便地使用Pytorch,所以下面的教程是在创建的虚拟环境下按照Pytorch框架。
在这里插入图片描述
首先,点击左侧的Create新建虚拟环境,然后命名选择Python版本,我选择的是Python3.8版本。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在创建好虚拟环境之后,你会发现在刚才的界面上多了一个环境的选项,如果选择到Pytorch_envs,那么该界面下打开的任何软件和工具都是基于该环境下的Python版本以及各种包、库。
在这里插入图片描述

5 在虚拟环境下使用conda安装包和框架

如果在GUI界面中,显然是可以通过搜索的方式进行安装的,如图所示。
在这里插入图片描述
或者,用最通用的方法——用命令进行安装。介绍两种方式打开。第一种方式是点击环境右侧的▲,选择打开终端。
在这里插入图片描述
第二种方式是在指定的环境下点击Prompt。
在这里插入图片描述
如果进终端后发现不是指定的虚拟环境,那么使用activate <环境名>命令就可以激活到该环境下。
在这里插入图片描述
首先,要明确的一点是,如果使用默认镜像源安装Pytorch或者matplotlib之类的东西会非常慢,甚至安装失败。为了防止这个问题,先换镜像源是非常有必要的。比较主流的镜像源有:清华源、豆瓣源、中科大源...
豆瓣源我不太熟悉,清华源╥﹏╥一言难尽,之前有禁用过,现在可能是维护上没跟上,所以安装东西时等待了30min后弹出HTTPError的报错,意思就是无法从这个镜像源获取到所需要的东西。

这个时候就要果断换镜像源——中科大镜像源。只需要两行命令即可:

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

但是如果你仍然保留了清华镜像源,请删除彻底,否则下载东西的时候很可能再次拉取到清华镜像源。删除镜像源的命令也很简单:

conda config --add channels <URL>

这个URL怎么查看?如下一行命令:

conda config --show channels

在这里插入图片描述
凡是有 除了ustc以外的镜像源,统统remove掉即可!(上图是我删除后保留的结果,简洁就一行镜像源)
附上参考链接:

现在终于开始正式安装东西了~命令很简单,和pip非常相似:

conda install <包/库名>

若安装的是Pytorch框架,那么需要去官网查看安装命令具体是什么样的,附上链接:Pytorch Installation
下图是我的选择,在输入命令时可以去掉 -c
在这里插入图片描述

conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
conda install pytorch torchvision torchaudio cudatoolkit=10.2 pytorch

用conda list可以查看所有该虚拟环境下的包、库以及框架。

所有的这些操作(创建虚拟环境、切换环境、安装库)都可以在Prompt中仅仅使用命令行完成,详细命令参见链接:

举一些简单的例子:

  • 创建虚拟环境:conda create -n env_name python=3.8
  • 删除虚拟环境:conda remove -n env_name --all
  • 激活虚拟环境:activate env_name

6 使用IDE进行编程

6.1 PyCharm

PyCharm的配置比较直接,打开PyCharm,在Configuration中将编译环境选择到Anaconda的指定虚拟环境(其实就是对应文件夹)下。
在这里插入图片描述
测试环境代码(测试了内置的numpy 自己安装的matplotlib和Pytorch)

# -*- coding: utf-8 -*-
"""
Created on Mon May 24 20:11:56 2021
@author: Zeng Wenxuan
"""
import torch
import numpy as np
import matplotlib.pyplot as plt

a = torch.rand((2, 3))
print(a)
print("Hello Anaconda!")

x = np.linspace(-0.5, 0.5, 50)
y = x ** 3
plt.plot(x, y, 'r')
plt.scatter(x, y)
plt.show()

在这里插入图片描述

6.2 Spyder

如果你没安装过Spyder,我推荐你在Anaconda界面下安装。并且选择你指定的虚拟环境!否则是默认的base环境。下图就是默认环境为Pytorch_envs的Spyder软件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以将py文件保存在任何你想要的目录下,所以完全不需要担心文件路径的问题~
题外话,这是我第一次使用Spyder写代码,没想到这个界面挺让我喜欢的,和Matlab的相似度比较高,代码块、终端、图像、变量列表是分离的,挺清晰~

6.3 Jupyter Notebook

Jupyter Notebook是我学习Python和机器学习一直在使用的web编程工具,使用场景主要是编程的学习和练习,能够呈现每一模块的运行结果,非常适合入门的调试,但是不适用于写较大的项目。
第一种打开方式是在Anaconda的指定环境下点击Jupyter即可。
在这里插入图片描述
在这里插入图片描述
但是我遇到一个问题呀,启动的Jupyter根目录是在C盘中的User,我暂时没有想到方法进入到D盘自的目录下...╥﹏╥...哪位好心人知道可以给我留言呀~提前感谢啦!
(2021.5.26中午补充:有小伙伴告诉我是Jupyter默认路径的问题,修改默认配置即可:参考这篇链接Jupyter notebook文件默认存储路径以及更改方法
另一种通用的方法就是在命令行进入到Jupyter Notebook中,这也是我之前在windows的cmd下启动的方法。方法很简单:cd <abs_address>+jupyter notebook

在这里插入图片描述
在这里插入图片描述

7 参考资料

我从很多篇博客中学习到了很多知识,只是每一篇都有其不够完善的地方,比如有些文章把安装过程写的很详细,有些文章把安装包的过程写得很详细,有些文章侧重某一方面的坑点进行了描述。我写这篇总结的目的就是把整个安装过程、配置过程、优化过程进行完整的梳理,并把自己遇到的各种问题都记录下来,供自己和大家在之后的学习中参考。
下面我就把对自己最有帮助的一些文章链接放出来:

conda国内镜像修改(最新版)
↑ 这篇让我知道要把不需要的镜像源统统remove掉

↑ 这两篇有详细的环境、包管理命令



文章评论