annaconda 和 vscode安装流程及可能出现的问题

1.anaconda下载
清华源找到最后一个清华源目前更推荐使用mamba-forge,自带mamba,是anaconda的优化版本mamba-forge下载使用手册

安装anaconda后vscode没有python环境_json

安装选择为该用户安装
不是所有用户,原因如下
多用户安装
默认的 Anaconda 安装选项是“Just Me”,它提供了一个独立的 Anaconda 安装,不会与同一系统上的其他用户共享。另一种选择是为所有用户安装。

所有用户
如果您具有管理员访问权限,则可以选择为“所有用户”安装。对于您希望允许用户导入 Python 库并运行 Python 应用程序的多用户系统,这是一个不错的选择。

默认情况下,此选项不授予写入权限,因此用户将无法在 root 环境中安装软件包。它允许管理员保护根环境中的内容。如果root环境下需要包,可以在命令提示符下将权限提升为管理员,运行安装命令。

我如果使用所有用户安装,自己将不能修改包,还需要变为管理员权限,比较麻烦
注意在安装时可能会有一段时间卡在一个进度,属于正常现象

2.其他参考这个
https://zhuanlan.zhihu.com/p/75717350

3.环境变量添加
只需要在系统变量里添加condabin文件即可

D:\anaconda3\condabin

安装anaconda后vscode没有python环境_ide_02

里面有所有要用到的bat文件,conda,activate等等,使用where指令可以看到可执行程序都在这里找(powershell不能使用where,可能是跟进入了conda环境有关,用cmd)

安装anaconda后vscode没有python环境_json_03

4.使powershell能进去conda环境
init : Initialize conda for shell interaction. 实际就是在修改shell的prefix启动文件

conda init

powershell教程

5.设置源,我用的是清华源

清华源教程

或直接复制下面

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

缩进要严格按照这个文件来
修改完频道要清空索引确保使用的是新添加的频道

conda clean -i

清空索引的意思是mamba/conda在在channels中寻找镜像时,会读取网站上已有包的版本信息存储在本地,也叫做index,目的是省去每次下载包都要线上查询该channel有哪些包,这一步也叫做solving environment,之后将搜集来的信息,通常是json(http传输经常使用),再经过解码就可以形成本地的index,之后通过index就可以快速的查找包了。

6.安装mamba(下载的是mamba-forge直接自带,可跳过此步)

conda install -c conda-forge mamba

7.更新配置pip

python -m pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
#默认使用清华源

8.用conda pack导入之前的环境(可选)
法1(推荐):

conda pack使用 出现文件重复时覆盖用于全部文件

要注意的是如果解压出的文件夹中如果有中文的文件,那么在Scripts/conda-unpack-script.py会将这些文件记录下来,就会造成乱码

安装anaconda后vscode没有python环境_vscode_04


安装anaconda后vscode没有python环境_vscode_05


需要将这些乱码注释掉或直接删掉这一行,顺带也可以把文件夹中的快捷方式也删了,当这些东西不存在

如果执行时出现编码错误(utf-8),将py文件中该行注释掉即可,目前亲测完全没有问题,windows上可以放心用

注:自己搞了个pt.zip在u盘上,将上面的问题全部解决了,解压输入命令即用

法2: 导出官方yml文件(目前看不太好用,其中下了一些aliyun的包,但阿里云会间歇抽风,就导致包没法下载了)

# 假设我们有一个环境叫 ehbio,可以导出为一个yml文件
conda env export --file ehbio_env.yml --name ehbio

# 然后换一台电脑,就可以完全重现这个环境了
conda env create -f ehbio_env.yml

9.vscode安装
最好设置以管理员身份运行vscode

记得使用管理员权限打开cmd或其他终端进行修改!

10.同步vscode
至此所有工作都准备完全了。

常见问题汇总

1.在solving environment时出现JSON ERROR

有上面channel原理可知,一般都是镜像的json信息传输过来出了问题,也就是镜像那边抽风了,要尝试更换镜像