为什么使用WSL进行python编程

WSL,全称Windows Subsystem for Linux。简言之,win10提供了一个子Linux系统,可以解决虚拟机和双系统的系统之间阻隔的问题而不影响win10本身的应用。

对于win10上建立的Linux子系统,如Ubuntu,本身可能会自带了python编译器,可以编译运行一些简单的python脚本。

命令“which python”通常可以查看本机python的版本和安装位置,安装位置通常位于:/usr/bin,

有些安装了其他大型编译器的时候,还会自带不同版本的编译器,因此用命令“ls /usr/bin/python*”可以查看本机已安装的所有python类型。

win10中设置Linux子系统方式如下:

Windows下请先开启WSL,并且安装Ubuntu:

1.管理员权限打开 PowerShell. 在开始菜单中,输入PowerShell,右键Windows PowerShell选择管理员权限运行(或者按下快捷键win+R,然后输入cmd打开命令提示符)

2.在Windows PowerShell command window 中或命令提示符中, 拷贝并复制以下代码以开启WSL功能:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

3. 打开微软商店,搜索Ubuntu,选择Ubuntu并进行安装,此后,进入Linux系统的方式有三:第一,Windows PowerShell中输入bash,第二,命令提示符中输入bash,第三,直接打开Ubuntu应用。

为什么选择anaconda下的python编程环境

以上的python编译器虽然可以运行部分.py文件,但是有些包没有安装,所有含有numpy/pandas等库的文件编译时会自动报错。

在安装各种包的时候,有时不同包之间错综复杂的依赖关系会使一个包的安装过程变成一系列包的安装。而conda可以很好的解决路径依赖问题。

此外,conda还可以建立起一些相对独立编程环境,每个环境是一个独立的工程,从而避免各种版本的package之间相互污染。

anaconda安装方式:

1.下载64-Bit Installer for anaconda 网址为https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.07-Linux-x86_64.sh

2.更换到下载目录,打开terminal,输入命令: “bash Anaconda3-2020.07-Linux-x86_64.sh”,然后安装过程中按照提示一路yes即可。

当打开终端时最开始出现(base)的时候,anaconda就安装成功了,对于超级用户root,通常conda安装在“/root/anaconda” 根目录下,对于普通用户,通常安装在 “/home/用户名/anaconda”之下。

下一步是把anaconda配置更新,这一步的主要作用是把源更新,默认的国外源下载速度非常慢。更改方式有两种:

anaconda配置更新

方法1:在(base)中输入命令

1 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
2 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
3 conda config --remove channels defaults
4 conda config --set show_channel_urls yes

如果在此后的软件安装中出现下载过慢的问题可以参考我的下一篇文章

方法2:找到.condarc文件输入镜像源

对于root用户,输入“cd ~/.condarc”,对于普通用户,输入“cd /home/用户名/.condarc",并输入以下命令

 ssl_verify: true

 channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ show_channel_urls: true

如果该步骤出现网络连接失败,请参考解决:https://www.cnblogs.com/liangxuran/p/13507487.html

为什么要为每个项目建立独立的conda环境

如前所述,之所以建立起一个独立的python编译环境而不是使用base是为了避免各种package版本之间相互污染。

建议针对不同的项目每一次都进行不同的环境进行区隔。

新建/激活/退出独立conda环境的方式:

新建独立conda环境命令:“conda create --name conda_name python=3”或“conda create -n conda_name_01 python=3”

激活该环境的命令:“conda activate conda_name_01”

退出该环境的命令:“conda deactivate”

复制该环境的命令:“conda create -n conda_name_01 --clone conda_name_02”

删除该环境的命令:“conda remove -n conda_name_01 --all”

如果出现如下报错,需要在./condarc文件中更新源。解决方案参考https://www.cnblogs.com/liangxuran/p/13507487.html

下一步就是在该环境下,安装一些自己需要的python包,以满足科学计算的需求

conda安装python包的方式:

用conda安装:“conda install numpy”    #推荐

用pip安装:     “pip install numpy”         #不推荐

我常用的python包有:numpy,pandas,matplotlib,scipy,netCDF4,jupyter,obspy

前四个比较大众,后三个比较小众。

在win10的Linux子系统(WSL)上搭载python编程环境的更多相关文章

  1. win10配置linux子系统使用python绘图并显示--WSL使用GUI输出

    默认情况下,Win10的linux子系统(WSL)是只能使用命令行程序的.所有图形界面的程序都无法执行. 通过为Win10安装XWindows协议的终端应用,可以让Win10成为一台XWindow终端 ...

  2. win10安装linux子系统(wsl)

    win10安装linux子系统(wsl) 1.打开Microsoft Store 方式一:在电脑左下角打开 方式二:在电脑左下角的搜索里里输入Microsoft Store 打开Microsoft S ...

  3. Win10 安装 Linux 子系统

    Win10 安装 Linux 子系统 因为最近要使用Linux搭服务器,但是用远程的话延迟很烦,用双系统切换很麻烦,用虚拟机又会有点卡,刚好Windows10最近更新了正式版的WSL(windows下 ...

  4. 如何优雅地使用win10的Linux子系统

    转自: http://blog.csdn.net/u010053050/article/details/52388663 http://www.rehack.cn/techshare/devtools ...

  5. win10下Linux子系统开启ssh服务

    原文:win10下Linux子系统开启ssh服务 为了便于交流共同学习,博主QQ群242629020(stm32-MCU认认真真交流群) 欢迎批评指导!!!电梯:https://jq.qq.com/? ...

  6. 手把手教你启用Win10的Linux子系统(超详细)

    原文:手把手教你启用Win10的Linux子系统(超详细) 版权声明:转载请保留出处,谢谢! https://blog.csdn.net/zhangdongren/article/details/82 ...

  7. win10的linux子系统安装及使用

    最近需要用到linux但是又不想装双系统,正好win10推出了linux子系统,省事了,自己也是煞费苦心才整明白 1.首先你要是很新的win10版本(1607及已上),这样才有下面的步骤 依次在 设置 ...

  8. [Linux] 启用win10下Linux子系统

    转载请注明出处:https://www.cnblogs.com/lialong1st/p/12004080.html 最新的win10引入了Linux子系统,这样就免去了安装虚拟机或者双系统的麻烦. ...

  9. Windows Sublime Text 配置Linux子系统(WSL)下的 gcc/g++ 编译环境

    0. 简介(若已了解背景可以跳过此部分) Windows 10 Build 14316以上版本中加入了"Windows系统的Linux子系统"(Windows Subsystem ...

随机推荐

  1. SYN 攻击原理及解决方法

    原理SYN foold攻击主要针对tcp通信三次握手期间做的手脚,所以要弄懂这个攻击的原理我们首先必须知道tcp三次握手的详细过程 由上图可知tcp三次握手顾名思义要经过三个步骤,这三个步骤分别是 客 ...

  2. layui常用插件(二) 时间插件

    日期和时间 html <div class="layui-inline"> <!-- 注意:这一层元素并不是必须的 --> <input type=& ...

  3. 【评价指标】详解F1-score与多分类MacroF1&MicroF1

    文章来自:一个宝藏微信公众号[机器学习炼丹术] 基本概念 首先,要背住的几个概念就是:accuracy,precision,recal, TP,FP,TN,FN TP:true positive.预测 ...

  4. Fortify Audit Workbench 笔记 Unreleased Resource: Database( 未释放资源:数据库)

    Unreleased Resource: Database 未释放资源:数据库 Abstract 程序可能无法成功释放某一项系统资源. Explanation 程序可能无法成功释放某一项系统资源. 资 ...

  5. 将HTML5封装成android应用APK

    借鉴了网上很多的教程终于是把整个过程走通了,最主要的还是墙的问题.... 先是要搭建环境(每一步都要检查,确保安装正确): 1.安装 nodejs 淘宝镜像: npm install -g cnpm ...

  6. SpringMV学习之拦截器的简单使用

    一.拦截器介绍 我们知道SpringMVC的拦截器(Interceptor)非常重要,尤其在Web应用中使用非常广泛,其功能类似于过滤器,用于拦截用户请求并作相应的处理.我们使用比较多的场景是系统登陆 ...

  7. SpringBoot整合Mail发送邮件&发送模板邮件

    整合mail发送邮件,其实就是通过代码来操作发送邮件的步骤,编辑收件人.邮件内容.邮件附件等等.通过邮件可以拓展出短信验证码.消息通知等业务. 一.pom文件引入依赖 <dependency&g ...

  8. DOM标签属性和对象属性

    DOM元素的属性分为两种 (1)标签属性 直接写在标签上的属性 (2)对象属性 由于所有的DOM元素都是Object类型,所以我们可以通过对象的方式为DOM元素设置属性 1.标签属性 (1)设置标签属 ...

  9. P4463 [集训队互测2012] calc 拉格朗日插值 dp 多项式分析

    LINK:calc 容易得到一个nk的dp做法 同时发现走不通了 此时可以考虑暴力生成函数. 不过化简那套不太熟 且最后需要求多项式幂级数及多项式exp等难写的东西. 这里考虑观察优化dp的做法. 不 ...

  10. Eclipse RCP:多平台部署

    1 问题 在使用Eclipse RCP IDE进行开发时,它自带的PDE(插件开发环境)工具仅能够导出相同平台的部署包,比如win32的仅能导出win32的,linux64仅能够导出linux64的. ...