文章目录
- 前言
- 一、为什么要在 WSL 里安装 Miniconda
- 1.1 Windows 和 WSL 是两套环境
- 1.2 为什么选择 Miniconda
- 二、安装 Miniconda
- 2.1 进入 WSL
- 2.2 安装 wget
- 2.3 下载 Miniconda 安装脚本
- 三、让 conda 命令生效
- 3.1 重新加载终端配置
- 3.1.1 理解`~/.bashrc`
- 3.1.2 理解`~`
- 3.1.2 `source` 是什么意思
- 3.2 检查是否安装成功
- 四、创建项目环境
- 4.1 回到项目目录
- 4.2 创建 Conda 环境
- 4.3 激活环境
- 4.4 安装项目依赖
- 五、常见问题
- 5.1 `conda: command not found`
- 5.2 终端前面出现 `(base)`
- 5.3 Windows 已经安装 Conda,WSL 还需要安装吗
- 5.4 Terms of Service(服务条款)
- 总结
前言
在 WSL 中运行 GitHub 项目时,经常需要创建独立的 Python 环境。
如果直接执行:
conda create-nlocagentpython=3.12-y出现:
conda:commandnot 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 终端:
wsl然后回到用户家目录:
cd~2.2 安装 wget
如果系统里没有wget,先安装:
sudoaptupdatesudoaptinstallwget-ywget的作用是从网络下载文件。
含义是: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 安装脚本
执行:
wgethttps://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 重新加载终端配置
安装完成后执行:
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.2source是什么意思
source意思是:在当前终端里执行某个配置文件,让里面的配置立刻生效。
所以:source ~/.bashrc
完整意思是:
- 在当前终端里,重新执行 /home/like/.bashrc 这个配置文件,
- 让里面的新配置马上生效。
3.2 检查是否安装成功
执行:
conda--version果能看到类似:说明 Miniconda 已经安装成功。
也可以执行:
conda list查看当前 base 环境中的包。
四、创建项目环境
4.1 回到项目目录
例如 LocAgent 项目在:
~/Code/javatest进入项目目录:
cd~/Code/javatest4.2 创建 Conda 环境
创建一个名为locagent的环境:
conda create-ntestpython=3.12-y其中:
-n test:环境名字叫 test python=3.12:指定 Python 版本 -y:自动确认安装4.3 激活环境
执行:
conda activatetest激活成功后,终端前面会出现:
(test)例如:
(test)like@likerhood:~/Code/javatest$这说明当前已经进入test环境。
4.4 安装项目依赖
一般根据项目 README 操作。常见命令是:
pipinstall-rrequirements.txt如果项目使用其他依赖文件,就按照项目说明执行。
五、常见问题
5.1conda: command not found
说明 WSL 中没有安装 Miniconda,或者安装后没有执行:
source~/.bashrc可以先重新加载配置:
source~/.bashrc再检查:
conda--version5.2 终端前面出现(base)
安装 Miniconda 后,有时终端前面会自动出现:
(base)这表示当前进入了 Conda 的基础环境。
一般不建议直接在base里安装项目依赖,最好为每个项目单独创建环境。
例如:
conda create-n环境名python=3.12-yconda activate 环境名5.3 Windows 已经安装 Conda,WSL 还需要安装吗
需要。
Windows 和 WSL 是两套环境。Windows 里的 Conda 不能直接当作 WSL 的 Linux Conda 使用。
可以理解为:
Windows 的 Conda = Windows 房间里的工具箱 WSL 的 Conda = Linux 工作间里的工具箱运行 Linux 项目时,应该使用 WSL 里的 Conda。
5.4 Terms of Service(服务条款)
创建虚拟环境是报错如下:
(base)like@likerhood:~/javatest$ conda create-ntestpython=3.12-yCondaToSNonInteractiveError: Terms of Service have not been acceptedforthe 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--channelhttps://repo.anaconda.com/pkgs/main conda tos accept --override-channels--channelhttps://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。
直接按它提示执行这两条:
conda tos accept --override-channels--channelhttps://repo.anaconda.com/pkgs/main conda tos accept --override-channels--channelhttps://repo.anaconda.com/pkgs/r然后重新创建环境:
conda create-ntestpython=3.12-y成功后激活:
conda activate test如果你不想用 Anaconda 默认源,也可以改用社区源conda-forge,但你现在最简单的做法就是先接受这两个默认源条款。
总结
在 WSL 中出现conda: command not found,说明当前 Linux 环境里还没有配置 Conda。解决方法是在 WSL 中单独安装 Miniconda,然后通过conda create创建项目环境。
推荐流程是:
cd~sudoaptupdatesudoaptinstallwget-ywgethttps://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shbashMiniconda3-latest-Linux-x86_64.shsource~/.bashrc conda--version之后再进入项目目录,创建并激活环境:
cd~/Code/javatest conda create-ntestpython=3.12-yconda activatetestpipinstall-rrequirements.txt简单来说,WSL 运行 Linux 项目,就需要在 WSL 中准备 Linux 版本的 Conda 和 Python 环境。这样项目依赖更清晰,也更符合 GitHub 项目的原始运行环境。