win10+wsl2+Ubuntu20.2+Pycharm+WSL解释器

目的:创建一个ubuntu系统下的python解释器,作为win平台下的pycharm的解释器。

这样做的好处是可以直接在win系统里操作文件,相比于linux方便一点,而且也不用对wsl的子系统进行迁移。

一、安装前准备

       1. 设置-Windows更新-windows预览体验计划-加入Dev渠道,安装最新的开发版本windows(Win10 21H2版本或Win11版本)

       2. 设置-隐私和安全性-开发者选项-打开开发人员模式;

       3. Microsoft Store中下载Windows Powershell;

二、开始安装

       4. 控制面板-程序和功能-启用或关闭Windows功能-勾选【适用于 Linux 的 Windows 子系统】和【虚拟机平台】这两项-立即重新启动;

(Win10系统需要额外勾选Hyper-V,如果安装Ubuntu的时候还是报错,需要重启电脑,进入 BIOS 开启虚拟化技术)

       5. 下载WSL内核升级包:打开微软官方文档在Step 4那里下载(如下图),或者直接点这个链接下载;

请添加图片描述

操作很简单,一路Next就可以啦!

       6. 设置WSL的版本为WSL2,开始菜单中搜索Windows powershell,然后输入:

wsl --set-default-version 2

查看Ubuntu可安装版本:

wsl --list --online

在这里插入图片描述

    7. 安装Ubuntu

方式一(C盘):

在Windows powershell中输入以下命令安装Ubuntu-20.04:

wsl --install -d Ubuntu-20.04

方式二(C盘):

在【Microsoft Store】中搜索 Ubuntu,然后选择要安装的系统,安装完成后点击启动

在这里插入图片描述

     8. 设置Ubuntu用户名和密码

在这里插入图片描述

密码只管输就行了,默认不显示,然后回车,完成界面:

在这里插入图片描述

然后就可以关掉这个界面了啦!

三、更换镜像源

       9. 开始菜单中,双击打开Ubuntu20.04 LTS图标,在命令行中输入以下命令,用来备份镜像源防止以后用到:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

编辑软件源,接着输入:

sudo nano /etc/apt/sources.list

在这里插入图片描述

将上面这些内容删掉,替换为阿里源和清华地址:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse multiverse

 然后按Ctrl + O,再按回车键,再按Ctrl + X退出编辑模式,然后更新源:

sudo apt update

修复损坏的软件包,尝试卸载出错的包,重新安装正确的版本:

sudo apt-get -f install

更新软件:

sudo apt-get update

然后可以关掉窗口。

四、安装Anaconda

wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
bash Anaconda3-2021.05-Linux-x86_64.sh

一开始需要一直按着回车键,中间会有需要输入yes,然后一路回车到安装完成,然后关掉窗口重新打开就好了,最后这个yes是询问是否添加环境变量,不幸选了No的话执行:

输入添加到路径的命令:

sudo nano .bashrc

翻到最后,在最后一行输入

export PATH=/home/(your_user_name)/anaconda3/bin:$PATH

按Ctrl + O,再按回车键,再按Ctrl + X退出编辑模式

source .bashrc

完成界面如图,用户名前多了base环境:

在这里插入图片描述

输入查看是否安装成功: 

conda --version

换源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --set show_channel_urls yes

 创建一个环境,进行测试:

conda create -n win python=3.8 -y

激活环境:

conda activate pytorchgpu

五、安装pycharm和解释器

注意:这里不要图像化界面,否则可能报错:Error checking folder: your 131072x1 screen size is bogus.

直接在win系统安装pycharm,只有专业版有这个功能,社区版是没有的。

进入如图所示界面:

 然后选择wsl中的python当作解释器就行了

 参考资料:

Win10/Win11子系统(一)——wsl2+Ubuntu20.04安装记录_努力毕业的W的博客-CSDN博客

Win10/Win11子系统(二)——深度学习环境搭建:WSL2+Ubuntu20.04+CUDA10.1+pytorch1.8.1+pycharm_win10自带linux子系统使用pytorch_努力毕业的W的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/52758.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot项目集成ElasticSearch服务

本文已收录于专栏 《中间件合集》 目录 版本介绍背景介绍优势说明集成过程1.引入依赖2.添加配置文件3.初始化 示例说明代码结果 总结提升 版本介绍 Spring boot的版本是: 2.3.12   ElasticSearch的版本是:7.6.2 背景介绍 在我们的项目中经常会遇到对于…

datax 删除分区数据,再写入MySQL脚本

#! /bin/bashDATAX_HOME/opt/module/datax#1、判断参数是否传入 if [ $# -lt 1 ] thenecho "必须传入all/表名..."exit fi #2、判断日期是否传入 [ "$2" ] && datestr$2 || datestr$(date -d -1 day %F)#DataX导出路径不允许存在空文件&#xff0c…

Unity - 特殊文件夹

地址记录:https://www.cnblogs.com/zouqiang/p/6841399.html Assets Assets文件夹是unity项目中放置游戏资源的主文件夹。 该文件夹中的内容将直接反应在编辑器的Project视口中。许多系统API基于该文件夹路径。 Resources Unity允许你按需动态加载游戏资源到场景中…

Python使用pyqt5写windows桌面应用实战教程

本篇文章主要讲解,Python使用pyqt5写windows桌面应用的详细实战教程文章,主要涵盖单个界面的布局构建说明,表单构建说明,数据交互构建说明以及可直接开发的简易多界面框架实例构建说明,能够让你很快的了解pyqt在python中的使用和构建方式,快速实现一个简单的windows桌面图…

NTP相关问题

ntp协议的相关概念 ntp(时间同步协议),用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报文进行传输,使用的UDP端口号是123. 使用NTP的目的是对网络内所有具有时钟的设备进行时间同步,是网络内所有设备的时钟保持一致&#xff0…

【Java转Go】快速上手学习笔记(六)之网络编程篇一

目录 TCP一个简单案例server.go 服务端client.go 客户端 HTTPserver.go 服务端client.go 客户端 RPC一个很简单的示例server.go 服务端client.go 客户端 WebSocketserver.go 服务端client.go 客户端 完整代码server.go 服务端client.go 客户端 go往期文章笔记: 【J…

在本地创建repository及上传至github

文章目录 本地管理设定git的用户名与邮箱初始化添加修改提交修改设定分支问题一:error: insufficient permission for adding an object... 数据同步创建SSH keys创建并关联远程仓库上传改动至github问题二:Failed to connect to github.com port 443: Connection timed out问题…

spring整合MybatisAOP整合PageHelper插件

一,spring集成Mybatis的概念 Spring 整合 MyBatis 是将 MyBatis 数据访问框架与 Spring 框架进行集成,以实现更便捷的开发和管理。在集成过程中,Spring 提供了许多特性和功能,如依赖注入、声明式事务管理、AOP 等 它所带来给我们的…

最大内积搜索(MIPS) 使用python 举例 三种AIGC生成对比

以下是一个使用Python实现MIPS问题的例子: 百度生成 import numpy as npdef MIPS(q, S, epsilon):d len(q)scores np.dot(S, q) # 计算S中每个向量与q的内积idx np.argsort(-scores) # 按照内积从大到小排序if np.dot(q, S[idx[0]]) > epsilon * np.linalg.…

Qt --- QTimer

在Qt开发界面的时候,非常多的时候都得使用定时器,定时器具体可以干什么呢?比如:控制时钟、定时改变样式、改变进度等。。。说到这里,经常使用QQ,而不同的时段都会显示不同的背景,我认为如果用Qt…

yolov8实战之torchserve服务化:使用yolov8x来预打标

前言 最近在做一个目标检测的任务,部署在边缘侧,对于模型的速度要求比较严格(yolov8n这种),所以模型的大小不能弄太大,所以原模型的性能受限,更多的重点放在增加数据上。实测yolov8x在数据集上…

什么是强缓存和协商缓存

文章目录 一、强缓存二、协商缓存总结为什么需要浏览器缓存? 一、强缓存 强缓存是指浏览器在请求资源时,先检查本地缓存是否存在该资源的副本,并且该副本是否有效。如果有效,浏览器直接从本地缓存中获取资源,不会发送请求到服务器…

Golang Gorm 一对多关系 关系表创建

一对多关系 我们先从一对多开始多表关系的学习因为一对多的关系生活中到处都是,例如: 老板与员工女神和添狗老师和学生班级与学生用户与文章 在创建的时候先将没有依赖的创建。表名称ID就是外键。外键要和关联的外键的数据类型要保持一致。 package ma…

【Linux】进程状态|僵尸进程|孤儿进程

前言 本文继续深入讲解进程内容——进程状态。 一个进程包含有多种状态,有运行状态,阻塞状态,挂起状态,僵尸状态,死亡状态等等,其中,阻塞状态还包含深度睡眠和浅度睡眠状态。 个人主页&#xff…

【Linux网络】Cookie和session的关系

目录 一、Cookie 和 session 共同之处 二、Cookie 和 session 区别 2.1、cookie 2.2、session 三、cookie的工作原理 四、session的工作原理 一、Cookie 和 session 共同之处 Cookie 和 Session 都是用来跟踪浏览器用户身份的会话方式。 二、Cookie 和 session 区别 2.…

LinuxUbuntu安装VMware tools Segmentation fault (core dumped)怎么解决

LinuxUbuntu安装VMware tools Segmentation fault (core dumped)怎么解决 在安装VMware Tools时遇到"Segmentation fault (core dumped)"错误,通常是由于兼容性问题或系统配置不正确导致的。以下是一些可能的解决方法: 检查VMware Tools兼容性…

基于element UI 实现 table 列 拖拽

问题描述 在开发中遇到一个需求,即实现table列的拖拽,但是调研发现,大部分是基于sorttable.js这个包实现的,但是通过实际应用,发现sorttable.js用在操作element table 组件中并不是很舒服,总会莫名其妙的冒…

Vue3+Vite 初始化OpenLayer

Vue3Vite 初始化OpenLayer 安装依赖 yarn add ol初始化OpenLayer <template><div id"ol-map"></div> </template><script lang"ts" setup> import { onMounted } from vue import ol/ol.css import { Map, View } from o…

Linux下的Shell基础——正则表达式入门(四)

前言&#xff1a; 正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。在很多文本编辑器里&#xff0c;正则表达式通常被用来检索、替换那些符合某个模式的文本。 在Linux 中&#xff0c;grep&#xff0c;sed&#xff0c;awk 等文本处理工具都支持…

EL与JSTL

目录 EL EL语法 EL运算符 JSTL JSTL标签分类 JSP脚本&#xff1a;代码结构混乱、脚本与HTML 混合易出错、代码不易维护。 EL表达式&#xff1a;优化程序代码&#xff0c;增加程序可读性。 EL EL语法 EL表达式 ${ EL 表达式 } EL操作符 操作符“ . ” 获取对象的属性&a…