文章目录
-
- 前言
- [一、为什么要在 WSL 里安装 Miniconda](#一、为什么要在 WSL 里安装 Miniconda)
-
- [1.1 Windows 和 WSL 是两套环境](#1.1 Windows 和 WSL 是两套环境)
- [1.2 为什么选择 Miniconda](#1.2 为什么选择 Miniconda)
- [二、安装 Miniconda](#二、安装 Miniconda)
-
- [2.1 进入 WSL](#2.1 进入 WSL)
- [2.2 安装 wget](#2.2 安装 wget)
- [2.3 下载 Miniconda 安装脚本](#2.3 下载 Miniconda 安装脚本)
- [三、让 conda 命令生效](#三、让 conda 命令生效)
-
- [3.1 重新加载终端配置](#3.1 重新加载终端配置)
-
- [3.1.1 理解`~/.bashrc`](#3.1.1 理解
~/.bashrc) - [3.1.2 理解`~`](#3.1.2 理解
~) - [3.1.2 `source` 是什么意思](#3.1.2
source是什么意思)
- [3.1.1 理解`~/.bashrc`](#3.1.1 理解
- [3.2 检查是否安装成功](#3.2 检查是否安装成功)
- 四、创建项目环境
-
- [4.1 回到项目目录](#4.1 回到项目目录)
- [4.2 创建 Conda 环境](#4.2 创建 Conda 环境)
- [4.3 激活环境](#4.3 激活环境)
- [4.4 安装项目依赖](#4.4 安装项目依赖)
- 五、常见问题
-
- [5.1 `conda: command not found`](#5.1
conda: command not found) - [5.2 终端前面出现 `(base)`](#5.2 终端前面出现
(base)) - [5.3 Windows 已经安装 Conda,WSL 还需要安装吗](#5.3 Windows 已经安装 Conda,WSL 还需要安装吗)
- [5.4 Terms of Service(服务条款)](#5.4 Terms of Service(服务条款))
- [5.1 `conda: command not found`](#5.1
- 总结
前言
在 WSL 中运行 GitHub 项目时,经常需要创建独立的 Python 环境。
如果直接执行:
bash
conda create -n locagent python=3.12 -y
出现:
bash
conda: command not found
说明当前 WSL 里还没有安装 Conda。Windows 中安装过 Anaconda 或 Miniconda,并不代表 WSL 里也能直接使用,因为 WSL 是一套独立的 Linux 环境。
一、为什么要在 WSL 里安装 Miniconda
1.1 Windows 和 WSL 是两套环境
Windows 里的 Python、Conda、pip 包,和 WSL 里的 Python、Conda、pip 包不是同一套。
所以要在 WSL 中运行 Linux 项目,就需要在 WSL 中单独安装一套 Miniconda。
1.2 为什么选择 Miniconda
Miniconda 比 Anaconda 更轻量,只提供 Conda、Python 和少量基础工具。
后续项目需要什么包,再通过 conda install 或 pip install 安装即可。
可以理解为:
- Anaconda = 装修好的大房子,东西很多
- Miniconda = 简洁毛坯房,需要什么再装什么
二、安装 Miniconda
2.1 进入 WSL
先进入 WSL 终端:
bash
wsl
然后回到用户家目录:
bash
cd ~
2.2 安装 wget
如果系统里没有 wget,先安装:
bash
sudo apt update
sudo apt install wget -y
wget 的作用是从网络下载文件。
含义是:wget = web get,从网络上获取文件,作用类似于你在浏览器里点击"下载",只不过它是在终端里完成下载。
比如浏览器里访问:
https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
会下载一个 Miniconda 安装脚本。
在 WSL 里可以用:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
效果就是:把这个链接对应的文件下载到当前目录。
2.3 下载 Miniconda 安装脚本
执行:
bash
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
这会把 Miniconda 的 Linux 安装脚本下载到当前目录。
安装过程中会让你按回车、输入 yes。安装路径默认是:
/home/<你的用户名>/miniconda3
直接默认即可。官方文档也建议不确定时接受默认安装位置。
最后它会问类似:
Do you wish to initialize Miniconda3 by running conda init?
这里输入:
yes
这个操作会让以后打开 WSL 终端时能识别 conda 命令。
三、让 conda 命令生效
3.1 重新加载终端配置
安装完成后执行:
bash
source ~/.bashrc
这一步的作用是让刚才写入 .bashrc 的 conda 配置立即生效。
也可以关闭 WSL 终端后重新打开。
3.1.1 理解~/.bashrc
你在 WSL 里的~打开终端,其实用的是一个 shell,一般是 bash。
每次打开 bash 终端时,它都会读取一个配置文件:~/.bashrc
这个文件里面会放一些终端启动时需要加载的配置,比如:
- 环境变量
- 命令别名
- conda 初始化配置
- PATH 路径配置
可以理解为:.bashrc 是 WSL 终端启动时自动读取的配置清单
3.1.2 理解~
~表示当前用户的家目录。
比如你的用户名是 like,那么:~就等于:/home/like
所以:~/.bashrc其实就是:/home/like/.bashrc
3.1.2 source 是什么意思
source意思是:在当前终端里执行某个配置文件,让里面的配置立刻生效。
所以:source ~/.bashrc
完整意思是:
- 在当前终端里,重新执行 /home/like/.bashrc 这个配置文件,
- 让里面的新配置马上生效。
3.2 检查是否安装成功
执行:
bash
conda --version
果能看到类似:说明 Miniconda 已经安装成功。
也可以执行:
bash
conda list
查看当前 base 环境中的包。
四、创建项目环境
4.1 回到项目目录
例如 LocAgent 项目在:
bash
~/Code/javatest
进入项目目录:
bash
cd ~/Code/javatest
4.2 创建 Conda 环境
创建一个名为 locagent 的环境:
bash
conda create -n test python=3.12 -y
其中:
text
-n test:环境名字叫 test
python=3.12:指定 Python 版本
-y:自动确认安装
4.3 激活环境
执行:
bash
conda activate test
激活成功后,终端前面会出现:
bash
(test)
例如:
bash
(test) like@likerhood:~/Code/javatest$
这说明当前已经进入 test 环境。
4.4 安装项目依赖
一般根据项目 README 操作。常见命令是:
bash
pip install -r requirements.txt
如果项目使用其他依赖文件,就按照项目说明执行。
五、常见问题
5.1 conda: command not found
说明 WSL 中没有安装 Miniconda,或者安装后没有执行:
bash
source ~/.bashrc
可以先重新加载配置:
bash
source ~/.bashrc
再检查:
bash
conda --version
5.2 终端前面出现 (base)
安装 Miniconda 后,有时终端前面会自动出现:
bash
(base)
这表示当前进入了 Conda 的基础环境。
一般不建议直接在 base 里安装项目依赖,最好为每个项目单独创建环境。
例如:
bash
conda create -n 环境名 python=3.12 -y
conda activate 环境名
5.3 Windows 已经安装 Conda,WSL 还需要安装吗
需要。
Windows 和 WSL 是两套环境。Windows 里的 Conda 不能直接当作 WSL 的 Linux Conda 使用。
可以理解为:
text
Windows 的 Conda = Windows 房间里的工具箱
WSL 的 Conda = Linux 工作间里的工具箱
运行 Linux 项目时,应该使用 WSL 里的 Conda。
5.4 Terms of Service(服务条款)
创建虚拟环境是报错如下:
bash
(base) like@likerhood:~/javatest$ conda create -n test python=3.12 -y
CondaToSNonInteractiveError: Terms of Service have not been accepted for the following channels. Please accept or remove them before proceeding:
- https://repo.anaconda.com/pkgs/main
- https://repo.anaconda.com/pkgs/r
To accept these channels' Terms of Service, run the following commands:
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
For information on safely removing channels from your conda configuration,
please see the official documentation:
https://www.anaconda.com/docs/tools/working-with-conda/channels
创建环境时,Conda 要从这两个默认源下载包:
https://repo.anaconda.com/pkgs/main
https://repo.anaconda.com/pkgs/r
但你还没有接受它们的条款,所以 Conda 拦住了。Anaconda 官方文档也说明,可以用 conda tos accept --override-channels --channel ... 来接受指定 channel 的 Terms of Service。
直接按它提示执行这两条:
bash
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
然后重新创建环境:
bash
conda create -n test python=3.12 -y
成功后激活:
conda activate test
如果你不想用 Anaconda 默认源,也可以改用社区源 conda-forge,但你现在最简单的做法就是先接受这两个默认源条款。
总结
在 WSL 中出现 conda: command not found,说明当前 Linux 环境里还没有配置 Conda。解决方法是在 WSL 中单独安装 Miniconda,然后通过 conda create 创建项目环境。
推荐流程是:
bash
cd ~
sudo apt update
sudo apt install wget -y
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
conda --version
之后再进入项目目录,创建并激活环境:
bash
cd ~/Code/javatest
conda create -n test python=3.12 -y
conda activate test
pip install -r requirements.txt
简单来说,WSL 运行 Linux 项目,就需要在 WSL 中准备 Linux 版本的 Conda 和 Python 环境。这样项目依赖更清晰,也更符合 GitHub 项目的原始运行环境。