为什么使用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. java 心跳机制

    心跳机制:就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息如果服务端几分钟内没有收到客户端信息则视客户端断开. 心跳包 心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定 ...

  2. 那些年拿过的shell之springboot jolokia rce

    日穿扫描扫到一个spring boot actuator 可以看到有jolokia这个端点,再看下jolokia/list,存在type=MBeanFactory 关键字 可以使用jolokia-re ...

  3. Python编程语言简介

    Python诞生于20世纪90年代初,由荷兰人吉多·范罗苏姆发明.那么,Python这一门编程语言是如何发明的呢?这之中又有怎么的故事呢?请看下面. 故事发生在1989年的圣诞节上,吉多先生为了打发无 ...

  4. 畅购商城(二):分布式文件系统FastDFS

    好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star,更多文章请前往:目录导航 畅购商城(一):环境搭建 畅购商 ...

  5. 从SpringBoot源码分析 配置文件的加载原理和优先级

    本文从SpringBoot源码分析 配置文件的加载原理和配置文件的优先级     跟入源码之前,先提一个问题:   SpringBoot 既可以加载指定目录下的配置文件获取配置项,也可以通过启动参数( ...

  6. Docker 基础知识 - 使用 tmpfs 挂载(tmpfs mounts)管理应用程序数据

    卷(volumes) 和 绑定挂载(bind mounts) 允许您在主机和容器之间共享文件,这样即使在容器停止后也可以持久存储数据. 如果在 Linux 上运行 Docker,那么还有第三种选择:t ...

  7. .net core MongoDB 初试

    是这样的,我们有一个场景,另一个服务器是写到MongoDB里面,我们的MVC页面要展示,需要分页展示 自己写了一个DAL public class MongoConnect { public stri ...

  8. 【BZOJ4398】福慧双修 题解(建图优化)

    题目链接 题目大意:给定一张$n$个点$m$条边的无向图,每条边两个方向的权值不一定相同.问从$1$出发不重复走一条边回到$1$的最短路径. ------------------- 暴力不太会.大概是 ...

  9. eureka注册中心的使用

    1.父pom.xml中引入springcloud依赖 <dependencyManagement> <dependencies> <dependency> < ...

  10. 25-Object类的使用

    1.java.lang.Object类的说明: * 1.Object类是所Java类的根父类 * 2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object ...