为什么使用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. pdfmake.js使用及其源码分析

    公司项目在需要将页面的文本导出成DPF,和支持打印时,一直没有做过这样的功能,花了一点时间将其做了出来,并且本着开源的思想和技术分享的目的,将自己的编码经验分享给大家,希望对大家有用. 现在是有一个文 ...

  2. Git 提交、删除、切换命令

    1.将本地代码提交到远程仓库 [初始将文件修改上传到远程仓库] 初始化: git init 添加到暂存区: git  add . 提交到仓库: git commit -m 'first commit' ...

  3. functools函数中的partial函数及wraps函数

    ''' partial引用函数,并增加形参 ''' import functools def show_arg(*args,**kwargs): print("args",args ...

  4. Hadoop学习之NCDC天气数据获取

    期望目的 下载<Hadoop权威教程>里用到的NCDC天气数据,供后续在此数据基础上跑mapred程序. 操作过程 步骤一.编写简单的shell脚本,下载数据文件到本地文件系统 已知NCD ...

  5. 安装ElasticSearch遇到的深坑

    实验需要ES,安装过程中遇到一些奇葩的问题,记录下.下面介绍下安装步骤: 第一步:安装java ES是运行在java虚拟机上面的,所以首先需要安装java环境,安装过程不再赘述,唯一需要注意的是ES对 ...

  6. 一个C++版本的Sqlite3封装--SmartDb

    Sqlite是一个非常轻量级的开源数据库,在嵌入式系统中使用的比较多,存储管理数据非常方便,Sqlite库提供的基于C语言的API,用起来也挺简单,但是有一点不太好的就是API使用起来有些繁琐,另外就 ...

  7. 极简 Node.js 入门 - 1.2 模块系统

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

  8. 简直骚操作,ThreadLocal还能当缓存用

    背景说明 有朋友问我一个关于接口优化的问题,他的优化点很清晰,由于接口中调用了内部很多的 service 去组成了一个完成的业务功能.每个 service 中的逻辑都是独立的,这样就导致了很多查询是重 ...

  9. Setup Factory 9 打包安装程序过程中提示安装.net4.5、并启用md5加密算法

    1.在Before Installing选项卡中选择Ready to Install,点击Edit进入编辑窗口,切到最后一个选项卡Actions,把判断内容复制进去 -- These actions ...

  10. tableauRFM分析

    1.数据源 2.创建相关字段 2.1 购买点会员生命期 2.2 会员最后购买时间 2.3 最后购买点生命期 3.近一个月老客户的生命期情况 排除了当天创建当天购买的情况,可以看到超市的大部分用户是两年 ...