前言

觉得枯燥的话点击网页左下角听几首精选纯音乐吧~

碎碎念

因为学校本专业今年新开了一门机器学习课程(专业选修≈必修),虽然大部分同学都没有Python基础,但这课程就还是这么硬上了...
不得不说大蟒蛇真的强,数字信号处理的实验课也抛弃MATLAB使用Python+Numpy了,这可能是未来的一种趋势。
前段时间MATLAB不是取消了国内名校的正版使用授权了吗?(虽然我这种学校不受影响毕竟教学时都用盗版)我设想未来会有一个基于Python及其开源库的软件配合易用的GUI界面,可实现替代MATLAB的大部分功能。至于Simulink的替代品,用Labview不就好了,它那么强、易用,却鲜为人知,而且非商用的个人版本是完全免费的。
回到主题,使用conda进行Python的环境配置和相关包管理真的很方便,因为不想在Win下编程和装conda,于是使用第二系统Manjaro GNU/Linux进行安装与配置,也总结了些坑和使用技巧,下面的安装和配置理论上来说都是Linux通用的。

浅谈Conda

何为Conda?Anaconda和Miniconda又有什么区别?

Conda:它本来是一个适用于任何语言的软件包/依赖项/环境管理工具,而不仅仅是python的包/环境管理工具。它可以让用户更轻松方便的安装/运行/更新软件包,方便的创建/保存/加载/切换虚拟环境
(简而言之个人觉得它像是Docker那样的容器/虚拟环境管理工具,可用于管理不同的容器/虚拟环境,只不过人们常用它管理复杂的Python包环境)
比如你想同时装不同的Python版本,或者同时使用不同版本的某个库,亦或是某些库之间的依赖有冲突,你都可以使用Conda进行很方便的切换、安装和管理。
使用不同的、独立的虚拟环境实现你的需求

Anacoda:入门时最初听到的便是这个,曾一度以为Anaconda就是全部——但它实质上只是在Conda的基础上添加了常用的Python工具包以及便于管理的GUI界面,可以省去新手很多的配置时间,专注于学习和研究。不过它也因为较为臃肿、各依赖项关系复杂、不可轻易更改(易导致破坏)而饱受诟病。

Minicoda:跟Anaconda刚好相反,他是Conda的最小实现,精简轻快,但不适合新手,需要使用命令行进行配置,里头自带的基础库非常少,需要的时候得联网下载安装。

一个网图弄清三者关系

出于个人喜好,我选择了Minicoda,但其实以下安装过程Anaconda也是同理的、可类比。

Linux下安装Minicoda

下面就开始正文吧(我的废话多多多)

快速安装

相比于官网缓慢地下载,不如直接通过清华tuna镜像源去下载:
tuna-Miniconda
划至页面底部选择 'Miniconda3-latest-Linux-x86_64.sh' ,将最新版的安装脚本下载下来,然后终端执行sh脚本。
tuna下载Minicoda
亦可完全地使用命令行操作(下载并执行sh脚本):

wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh 

安装中途需要根据提示按enter键或者输入yes。
安装完成后,会出现 'Thank you for install Miniconda3!' 的提示,至此安装过程结束。

安装后的一些配置

安装过程可谓是简单粗暴,但之后的配置可就比较烦了
网上大多数说法是:安装完成后在home目录下,会生成一个Minconda3的文件夹,而我并没有看到该文件夹。后来ctrl+H开启了显示隐藏文件后只看到一个 .conda 的隐藏文件夹,点开里头有个 environments.txt 文件。于是我用Kate打开一看,里头写着:/home/kying/enter 。好家伙...套娃?
不过这样看来应该是新版的Minicoda路径改为 '/home/user/enter' 了。

你会发现此时还不能调用conda命令,如输入conda --version 会提示没有找到,因为虽然脚本配置了环境变量,但是bash需要重新加载一下。咱使用命令行重新加载一下配置文件:

source .bashrc

这般操作之后,conda相关命令能够正常使用。
输入命令
但你会发现命令行前有个(base),这是因为脚本安装之后,自动配置的环境变量,使之默认执行了 conda activate ,激活了默认的base虚拟环境。
但实际上我们并不希望总是在conda的虚拟环境下执行命令行,这可能导致一些误操作(个人觉得)。
所以,可以手动执行 conda deactivate 来关闭虚拟环境,在普通命令行模式下执行一些普通的Linux操作命令。但每次都手动deactivate毕竟麻烦,不如在 .bashrc 文件的最后一句加个 conda deactivate ,如图:
我真是小机灵鬼.jpg
保存文件后,命令行再执行一次 source .bashrc 即可。
这样打开命令行时默认是不启用虚拟环境的,需要时再输入 conda activate 开启就好啦~

conda换为国内源

对了,如果国外的conda镜像源太慢,还是建议添加国内的源,方便下载需要的库,以中科大源为例,其他也是同理。我们打开home目录下的 .condarc 文件,然后写入如下字段:

channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
  - defaults
ssl_verify: true
show_channel_urls: true

编辑完保存就好辣~

安装常用库(附conda常用命令)

下面举例配置机器学习环境和安装机器学习常用库:

conda create --name MLpy37 python=3.7 # 创建基于Python3.7的容器,名为MLpy37
conda activate MLpy37
# ML三剑客安装
conda install numpy
conda install pandas
conda install matplotlib
# 安装sklearn
conda install scikit-learn

不建议所有东西都一股脑安装在base容器里,应当根据版本和需要去配置环境,否则Conda就失去了意义。
下面是conda常用命令

# 常用命令,举个栗子(注意类比推理)
# 虚拟环境(容器)相关
conda create --name py37 python=3.7 # 创建基于Python3.7的容器,名为py37(可改)
conda activate py37 # 激活当前环境为名为py37的虚拟环境
conda info -envs # 列出conda创建的所有环境
conda remove --name py37 --all # 删除名为py37的环境及其所有包
# 环境(容器)内的包相关
conda list # 列出当前环境下所有的包,未指定环境则默认都是对当前环境执行操作
conda search # 搜索可安装的包
conda install numpy # 安装名为numpy的包,版本自动(会在尽量不冲突的情况下选择最新)
conda install scikit-learn==0.20 # 安装指定的0.20版本的sklearn包
conda remove numpy # 移除名为numpy的包
conda update # 检查当前环境所有包的更新
conda update conda # 检查conda的更新

其他命令可以参考 这篇博客后面的命令列表
或者英文原版指南docs

IDE的选择与配置

环境配置好了,那用什么去编写程序呢???

新手推荐使用Jupyter Notebook

命令行执行如下:

# 在激活了指定环境的情况下
conda install jupyter notebook
# 待安装完成后,在指定环境下执行
jupyter notebook
# 浏览器自动跳转打开Jupyter Notebook,没跳转的可以手动复制

Jupyter Notebook提供了易于调试(块状编辑和调试)和编辑文本(支持Markdown书写)的交互界面,并使用浏览器构建和渲染GUI界面,其可移植性、兼容性都十分的高,不得不说开发者真他娘的是个人才!(李云龙语音包.flac)
用了一个多月觉得真的十分适合新手初学和调试!!!
这里给出其他的配置相关资料:Jupyter Notebook一些更深入的配置(一般用不到):点击跳转 点击跳转

老牌IDE那就是Pycharm

要说针对python最强的IDE,那非Pycharm莫属了。其属于编程界著名的IDE商JB全家桶(JetBrains),当然也有社区版,而且一般情况下是够用的,下面以Pycharm Community的安装和配置为例子

Pycharm的安装

Arch系的发行版(如Manjaro)可使用如下指令安装:

sudo pacman -S pycharm-community-edition

其他的发行版可以通过 官网链接下载(请自备科学上网工具),话说Debian系的有其对应的 .deb 包。

施(咕)工(咕)中

Pytorch简单安装

施(咕)工(咕)中

参考资料

https://blog.csdn.net/qq_40108803/article/details/86482626
https://www.cnblogs.com/HELO-K/p/11519988.html
https://www.jianshu.com/p/67bf4d600c9e
https://www.jianshu.com/p/fab0068a32b4
https://blog.csdn.net/qq_35203425/article/details/103872420
https://www.cnblogs.com/fwl8888/p/9586211.html
https://www.jianshu.com/p/0fbf6dc90666
https://juejin.im/post/5c692612f265da2dd37c0c18

本文作者:k_ying
本文链接:https://blog.kying.xyz:666/archives/LinuxInstallConda.html
转载说明:本文采用 CCBY-SA4.0 协议许可 ,部分内容仅代表个人观点,引用及转载无需征得本人同意,附上原文地址即可。