windows系統(tǒng),使用WSL2作為后端,配置python,docker環(huán)境
安裝
windows專業(yè)版,至少 Windows 11 22H2
1. [控制面板]->[程序]->[啟動(dòng)或關(guān)閉Windows功能]
? ?* Hyper-V
? ?* Windows 虛擬機(jī)程序監(jiān)控平臺(tái)
? ?* 適用于Linux的Windows子系統(tǒng)
? ?* 虛擬機(jī)平臺(tái)
2. windows應(yīng)用商店安裝[Windows Subsystem for Linux]
3. windows應(yīng)用商店安裝[Ubuntu22.04LTS]
4. 啟動(dòng)并設(shè)置好root密碼
啟動(dòng)
終端運(yùn)行wsl,或者ubuntu或者bash,就能進(jìn)入wsl2系統(tǒng)
開(kāi)始程序里面啟動(dòng)Ubuntu
終端新建ubuntu

vscode終端啟動(dòng),或者借助wsl插件進(jìn)行連接
更換源
更新
* apt-get update
? ????從服務(wù)器獲取全部可用的,最新的軟件包列表,并緩存到本地電腦.
* apt-get upgrade
? ????這個(gè)命令,會(huì)把本地已安裝的軟件,與剛下載的軟件列表里對(duì)應(yīng)軟件進(jìn)行對(duì)比,如果發(fā)現(xiàn)已安裝的軟件版本太低,就會(huì)提示你更新.upgrade 不會(huì)刪除在列表中已經(jīng)沒(méi)有的軟件包,也不會(huì)安裝有依賴需求但尚未安裝的軟件包.
* apt-get full-upgrade
? ????根據(jù)列表信息,對(duì)需要升級(jí)的軟件包進(jìn)行完整安裝.也就是先刪除軟件,然后完整地重新安裝整個(gè)軟件.所以要注意,這個(gè)功能是會(huì)刪除軟件的,所以執(zhí)行此命令之前最好備份一下.
* apt-get dist-upgrade
* apt list --upgradable
? ????根據(jù)列表對(duì)比信息,看看有哪些可更新的軟件,如果沒(méi)有則顯示為空.執(zhí)行效果如下.
* apt-get autoremove
? ????一般來(lái)說(shuō),更新完成之后會(huì)有一些不需要的舊組件需要清除.此時(shí)使用apt autoremove即可完成清理.
中文環(huán)境
systemd
重啟wsl2,檢測(cè)是否成功,ps --no-headers -o comm 1,輸出為systemd即生效
環(huán)境更新配置說(shuō)明
*root和普通用戶都編輯配置文件,**vi? ~/.bashrc**,末尾添加source /etc/profile
相關(guān)配置添加至/etc/profile末尾中
Docker
安裝
卸載舊版本,如果有的話
安裝配置
更改國(guó)內(nèi)鏡像源,sudo rm /usr/lib/systemd/system/docker.service && sudo vim /usr/lib/systemd/system/docker.service,內(nèi)容為:
Docker-Compose
github下載docker-compose二進(jìn)制包至opt文件夾下,并重命名文件為docker-compose
將可執(zhí)行權(quán)限應(yīng)用于二進(jìn)制文件sudo chmod +x /opt/docker-compose
創(chuàng)建軟鏈sudo ln -s /opt/docker-compose /usr/bin/docker-compose
測(cè)試是否安裝成功docker-compose --version
WSL2網(wǎng)絡(luò)配置
微軟終于更新了 WSL2,允許用戶自行指定用于 WSL2 的網(wǎng)卡,因此不再需要任何的腳本等等即可固定 WSL2 地址甚至支持 IPv6 和外部訪問(wèn)。
注意:此方法需要至少 Windows 11 22H2。
實(shí)體機(jī)終端 wsl --version確認(rèn)一下是不是1.0以上
使用 Hyper-V 創(chuàng)建了一個(gè)叫做WSLBridge的外部虛擬交換機(jī)來(lái)給 WSL2 用

實(shí)體機(jī)中,在用戶目錄 `%USERPROFILE%` 下面創(chuàng)建一個(gè)配置文件 .wslconfig,按照如下配置方法設(shè)置網(wǎng)絡(luò)
重啟電腦后生效
Miniconda
1,下載miniconda
2,sh miniconda安裝包,然后一直enter就行,確認(rèn)路徑為/opt/miniconda
3,配置文件,vim /etc/profile,末尾添加export PATH=/opt/miniconda/bin:$PATH
4,多用戶共用miniconda環(huán)境
? ? groupadd miniconda #創(chuàng)建miniconda用戶組groupadd miniconda
? ? usermod -a -G miniconda nan #添加用戶nan到用戶組
? ? chgrp -R miniconda /opt/miniconda ?#移交目錄管理權(quán)
? ? chmod 770 -R /opt/miniconda #設(shè)置讀寫權(quán)限
? ? chmod g+s /opt/miniconda #設(shè)置組繼承
? ? find /opt/miniconda/ -type d | xargs -i chmod g+s {} #設(shè)置子目錄組繼承
? ? #chmod g-w /opt/miniconda/envs #關(guān)閉共享環(huán)境的寫入權(quán)限
5,提升用戶權(quán)限
? ? sudo chown -R nan /opt/miniconda
6,其他用戶激活conda環(huán)境,普通用戶能訪問(wèn)root用戶環(huán)境,切換至普通用戶
? ? source /etc/profile
? ? conda init bash
? ? source ~/.bashrc
7,root與普通用戶更換阿里源碼
? ? pip3 config set global.index-url ?https://mirrors.aliyun.com/pypi/simple
? ? conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/main
? ? conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/r
? ? conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/msys2
? ? conda config --add channels conda-forge
? ? conda config --set show_channel_urls yes
? ? conda config --show channels ? ? #顯示鏡像源
? ? conda config --show-sources ? ? ??#顯示鏡像源
8,安裝mamba
? ? sudo apt-get install libarchive-dev
? ? conda update conda
? ? conda update conda-libmamba-solver
? ? conda update --all
? ? conda install -c conda-forge mamba
9,安裝jupyter庫(kù)
? ? pip3 install --upgrade pip
? ? mamba install notebook ipykernel
? ? pip install jupyterlab-language-pack-zh-CN #jupyter中文
10,更新全部庫(kù)
? ? mamba update --all
11,清理
? ? mamba clean -p # 刪除從不使用的包
? ? mamba clean -t # 刪除tar包
12,創(chuàng)建myenv虛擬環(huán)境
? ? conda create --prefix /opt/miniconda/envs/myenv python=3.11 ?#在指定文件夾下創(chuàng)建名為myenv的虛擬環(huán)境
13,查看現(xiàn)有環(huán)境
? ? conda env list
14,激活myenv環(huán)境
? ? conda activate myenv
15,退出環(huán)境
? ? conda deactivate
16,查看安裝的庫(kù)
? ? mamba list
備份回滾,移動(dòng)盤符
新建存放快照的文件夾D:\WSL2,啟動(dòng)power shell
回滾后,啟動(dòng)wsl2,默認(rèn)root用戶
vscode配置
* 利用vscode豐富插件,拓展性,易用性,同時(shí)集成系統(tǒng)終端
* 利用wsl2版Ubuntu,可以使用最少的資源和開(kāi)銷運(yùn)行ubuntu,配合VSCode遠(yuǎn)程拓展功能,開(kāi)發(fā)者用戶體驗(yàn)大幅提升.作為后端,部署相應(yīng)的語(yǔ)言環(huán)境(Python,Java,Node.Js等),較之windows配置更簡(jiǎn)單,方便測(cè)試開(kāi)發(fā),與windows環(huán)境隔離,
* 利用docker容器部署,部署諸如數(shù)據(jù)庫(kù)(mysql,pgsql,mssql等)等中間件,服務(wù)器

下載安裝vscode
安裝相應(yīng)插件
Chinese
Pylance,Python
Jupyter
WSL
連接wsl2環(huán)境



docker配置數(shù)據(jù)庫(kù)學(xué)習(xí)環(huán)境
新建文件夾/home/docker/databases
創(chuàng)建文件夾
創(chuàng)建mysql配置文件,vim ./mysql/my.cnf
創(chuàng)建mssql容器,復(fù)制mssql容器內(nèi)文件
配置docker-compose.yaml,vim docker-compose.yaml,設(shè)置tmp文件夾為共享文件夾
mssql密碼需要強(qiáng)密碼,注意
提升文件權(quán)限
運(yùn)行
設(shè)置mysql遠(yuǎn)程連接,docker exec -it mysql env.UTF-8 mysql -u root -p123456