序言

对于想要入门Python或者深度学习的初学者而言,配置环境一直是一个令人头疼的问题。相信有许多人经历过安装第三方包失败,安装好了却在使用中报错,安装CUDA、tensorflow、pytorch版本不匹配等等令人头大的问题,我也曾被这些问题所困扰。经过这两三年时间中反复重装环境的痛苦过程,直到现在我才逐渐能够独立、流畅地配制出一个令人满意的环境。在这个过程中,我也帮助了许多遇到这些问题的朋友,收获了一些经验教训,因此我希望将这一完整的过程写成博客,帮助在这方面遇到困难的人。

在这个系列的博客中,我计划详细介绍如下环境在Windows下的配置,后续有时间还会更新Ubuntu下的配置方法。

  • 安装Pycharm和Miniconda(本篇)
  • 介绍conda虚拟环境配置工具
  • 安装CUDA、tensorflow和pytorch
  • 多版本CUDA、tensorflow和pytorch共存

为什么选择Miniconda而不是Anaconda?

初学者通常会对Anaconda更加熟悉,它提供了一个包含大多数常见第三方包的Python环境,并且可以使用其中的conda工具来管理虚拟环境,同时还附带了许多IDE。

但是对于需要进行深度学习工作的朋友而言,对多版本框架共存的需求显然是首位的,我们必须要自行创建虚拟环境对不同版本的第三方包进行隔离。

同时,我们很少使用Anaconda自带的IDE,而是使用功能更加强大的Pycharm来进行开发,这就使得Anaconda提供的大而全的环境显得过于臃肿。

Miniconda很好的解决了这个问题,它只提供了conda工具来管理环境,而没有其他预装的第三方包。这样不仅可以节省存储空间,而且有利于我们从一开始就正确地配置环境。

下载Pycharm

  • 选择Windows系统。Professional是专业版,需要购买并使用账号密码登录,还可以使用edu后缀的教育邮箱免费申请。专业版比社区版增加了对于Web开发、数据库和jupyter notebook等的支持,如果不需要上述功能可以选择Community社区版。

  • 点击Download下载。这里我下载的是专业版,后续安装步骤可能与社区版有所出入。

安装Pycharm

  • 双击下载好的exe安装文件,点击Next进入下一步。

  • 选择安装位置,这里我选择安装在D盘。

  • 选择安装选项。这里建议选择添加至PATH环境变量,并关联.py文件。添加至右键菜单,可以在文件夹上单击右键使以Pycharm项目打开文件夹。关联.py文件指默认用Pycharm打开.py文件。

  • 选择开始菜单文件夹,点击Install。

  • 安装完成后可以选择立即重启或者之后手动重启。

下载Miniconda

  • 选择Latest Miniconda Installer Links中Windows的64或32位版本进行下载。
  • 如果下载速度慢的话,可以在清华大学开源镜像站https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda中选择对应的版本进行下载。注意选择Miniconda3-latest-Windows为前缀的链接,后面根据自己电脑的位数选择x86(32位)或x86_64(64位或32位)的版本。

安装Miniconda

  • 双击下载好的exe安装文件,点击Next进入下一步。

  • 点击I Agree同意用户许可协议。

  • 选择为哪些用户安装。Just Me只为当前系统登录的用户进行安装,如果有多账户使用同一台电脑并且都希望使用Miniconda的话,需要选择All Users。这里选择默认的Just Me。

  • 选择安装位置,这里我选择安装在D盘。

  • 选择安装选项。这里建议两个选项都进行勾选。第一个选项是将Miniconda3添加到PATH路径中,以便使用命令行或终端使用conda命令。需要注意的是,如果之前安装过Anaconda需要先进行卸载,以免引起错误。第二个选项是将Miniconda3设置为默认的系统Python环境,其他IDE中使用Python时会首先调用Miniconda中的Python及其相关环境。

  • 点击Next。

  • 这两个选项是Anaconda的一些帮助文档,可以取消勾选以跳过,点击Finish完成安装。

  • 按win+r,输入cmd打开命令行,输入conda,如果看到如下图所示的输出,就说明Miniconda安装完成了。

在Pycharm中使用Miniconda环境

  • 双击运行Pycharm。

  • 勾选同意,点击Continue。

  • 这里可以任意选择是否共享匿名数据。
  • 这里可以选择激活Pycharm或者免费试用30天,点击continue。

  • 看到这个界面说明Pycharm成功启动了,点击New Project创建一个新项目吧。

  • 在这个界面中,左侧选择Pure Python创建一个纯Python项目,右侧更改Location以改变项目的名称和存储位置。在Python Interpreter(Python解释器)中选择New environment using Conda,这样就可以使用我们刚才安装的Miniconda了(注意看Python解释器的路径中包含Miniconda3,证明确实是用的Miniconda环境),也可以自行指定该环境中Python的版本。这样会为这个Python项目创建一个同名的conda环境。这里的Make available to all projects暂时不用勾选,稍后在conda环境介绍中会提到其作用。最后点击Create即可。

  • 进入项目后稍等片刻,等待右下角的Updating skeletons进度条完成,点击绿色箭头就可以运行程序。

下一篇博客中将详细地介绍conda工具的使用方法。

Windows配置深度学习环境详细教程(一):安装Pycharm和Miniconda、conda环境介绍的更多相关文章

  1. Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程

     Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程 一.准备工具: QT-SDK for Windows:http://get.qt.nokia.com/qtsdk/qt-sd ...

  2. 从零开始在ubuntu上配置深度学习开发环境

    从零开始在ubuntu上配置深度学习开发环境 昨天一不小心把原来配置好的台式机的开发环境破坏了,调了半天没有调回来,索性就重装一次ubuntu系统.这篇文章主要记录一个简单的.‘傻瓜式’教程. 一.U ...

  3. ubuntu18+gtx1060 +cuda9+cudnn-v7+opencv3.1.0 配置深度学习环境

    将笔记本的ubuntu系统更新到18版本后重新配置深度学习环境,在此记载方便日后参考 具体配置为 Ubuntu18.04+gtx1060+opencv-3.1 第1步 安装依赖包 sudo apt-g ...

  4. 解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境

    原文地址:解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境 0x00 配置 硬件 OS: Ubuntu 18.10 Base Board: ASUS WS ...

  5. Ubuntu18.04下配置深度学习开发环境

    在Ubuntu18.04下配置深度学习/机器学习开发环境 1.下载并安装Anaconda 下载地址:https://www.anaconda.com/distribution/#linux 安装步骤: ...

  6. Caffe 深度学习框架上手教程

    Caffe 深度学习框架上手教程   blink 15年1月   Caffe (CNN, deep learning) 介绍 Caffe -----------Convolution Architec ...

  7. 手把手教你搭建Pytest+Allure2.X环境详细教程,生成让你一见钟情的测试报告(非常详细,非常实用)

    简介 宏哥之前在做接口自动化的时候,用的测试报告是HTMLTestRunner,虽说自定义模板后能满足基本诉求,但是仍显得不够档次,高端,大气,遂想用其他优秀的report框架替换之.一次偶然的机会, ...

  8. 深度学习与CV教程(14) | 图像分割 (FCN,SegNet,U-Net,PSPNet,DeepLab,RefineNet)

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

  9. [转]Caffe 深度学习框架上手教程

    Caffe 深度学习框架上手教程 机器学习Caffe caffe 原文地址:http://suanfazu.com/t/caffe/281   blink 15年1月 6   Caffe448是一个清 ...

随机推荐

  1. Java-数组拷贝

    数组拷贝 首先了解深拷贝 浅拷贝数组的四种拷贝方式: 1.for循环拷贝 代码示例: import java.util.Arrays; public class TestDemo{ public st ...

  2. 关于JAVA的FlowLayout流动布局的换行问题--图形界面

    我在网上寻找Java流动布局换行的方法,看了好久,也没有找到满意的答案. FlowLayout是流式布局,所以如果需要让换行有意义,就得锁定窗口的大小,否则随着窗口的伸缩,布局将被彻底打乱. 网上的方 ...

  3. hashmap专题

    hashmap重要变量 源码中定义了很多常量,有几个是特别重要的. DEFAULT_INITIAL_CAPACITY: Table数组的初始化长度: 1 << 4,即 2^4=16(这里可 ...

  4. 【C++】类

    一个简单例子: 1 //c++ 类 2 #include<iostream> 3 using namespace std; 4 class Point 5 { 6 private: 7 i ...

  5. Spring Boot WebFlux-01——WebFlux 快速入门实践

    第01课:WebFlux 快速入门实践 Spring Boot 2.0 spring.io 官网有句醒目的话是: BUILD ANYTHING WITH SPRING BOOT Spring Boot ...

  6. C#构造函数中:this()的作用

    通俗来说,可以说是构造函数的继承 (1) :this()用来继承无参时的构造函数,例如下面代码 static void Main(string[] args) { AA aA = new AA(&qu ...

  7. Unity 按空格一直触发Button点击事件的问题

    #解决 这是由于Button中Navigation(导航)功能导致的. 将导航设置为None即可. 真是气死我了,我说为什么点击完按钮界面,按空格就一直触发界面,难搞

  8. 垃圾处理器-CMS

    一.简介 CMS垃圾收集器是一款用于老年代的,使用复制-清除-整理算法的垃圾收集器. 二.GC阶段 1.初始化标记(STW) 暂停应用程序线程,遍历 GC ROOTS 直接可达的对象并将其压入标记栈( ...

  9. MySQL之where条件数据筛选

    语法: -- select * from 表名 where 条件; 测试数据: -- 建表语句 create table `student` ( `sid` int(11) primary key a ...

  10. Spring:Spring事务手动回滚方式

    方法1: 在service层方法的catch语句中增加:TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();语句 ...