Command

基础

# 查看当前有没有装过
which python
which conda

# miniconda安装地址
<https://blog.csdn.net/raw_inputhello/article/details/132062434>
wget <https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh>

# miniconda命令
# 配置
conda --version            # 查看版本
conda config --show    # 查看配置环境
conda info --envs         # 查看当前默认环境 
conda env list                # 查看环境列表

# 查看安装依赖
pip list
conda list

镜像


# 查看镜像配置
conda config --show

conda config --show channels
# 原本的
  - <https://mirrors.ustc.edu.cn/anaconda/pkgs/main/>
  - <https://mirrors.ustc.edu.cn/anaconda/pkgs/free/>
# 删除
conda config --remove channels <https://mirrors.ustc.edu.cn/anaconda/pkgs/main/>
conda config --remove channels <https://mirrors.ustc.edu.cn/anaconda/pkgs/free/>
# 删除源头
conda config --remove-key channels

# 修改清华
conda config --add channels <http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/>
conda config --add channels <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/>
conda config --add channels <https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/>
conda config --add channels <https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/>
conda config --set show_channel_urls yes

channels:
  - defaults
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>
  simpleitk: <https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud>
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>
show_channel_urls: True

环境使用


# 创建虚拟环境
conda create --name main-service python=3.8
# 如果网络有问题,可以离线创建
conda create --name main-service --offline

# 自动启用默认环境
conda config --set auto_activate_base false        # 默认不进入base环境
conda config --set auto_activate_base true         # 默认进入base环境

# 使用环境
conda create -n env_name python=3.8  # 创建
conda activate env_name # 激活环境
conda activate  # 激活
conda env export > environment.yaml
pip freeze > requirements.txt

conda deactivate # 退出

# 导出环境
conda env export --name myenv > myenv.yml #获得环境中的所有配置
conda env create -f  myenv.yml #重新还原环境

conda env export --name myenv > myenv.yml

conda remove --name env_name --all # 删除虚拟环境以及包

复制环境

# 本机
conda create -n new_env_name --clone old_env #[方案一]根据已有环境名复制生成新的环境

conda create -n new_env_name --clone old_env_path #[方案二]根据已有环境路径复制生成新的环境,其中old_env_path为旧环境的路径

# 远程
方案一:
1)导出环境
conda env export > ~/env.yaml 或者 conda env export > environment.yaml
利用conda env export导出的是个yaml格式的文件,该文件记录了环境名,软件源地址以及安装包列表

2)使用yaml配置文件创建新环境
conda env create -f ~/env.yaml 或者 conda env create -f environment.yaml
在新的机器中可直接执行上述命令,生成的环境与复制源完全一样(包括环境名)。

方案二:
1)将原来电脑上的环境所在文件夹复制到当前机器的任意路径下
2)在当前机器中进行如下操作:
conda create -n new_env_name --clone ~/path
这样就完成了环境的移植

删除清理缓存


# 清理缓存
conda clean -a
# 刷新
source /opt/homebrew/anaconda3/bin/activate

# 删除虚拟环境
conda remove -n your_env_name --all
# 删除虚拟环境中的某个包:
conda remove --name your_env_name package_name

问题

Unexpected error writing: /Users/aa/.conda/aau_token
  [Errno 13] Permission denied: '/Users/aa/.conda/aau_token'

第一次执行要 sudo conda env create -f config/clip.yaml
Solving environment: failed ResolvePackageNotFound
## 第一次遇到
Solving environment: failed
ResolvePackageNotFound: 
  - zlib==1.2.12=h7f8727e_1
  # 改成环境配置文件是在别的机器上导出的,文件里的软件包是按照那个机器配置的,导出的时候,把这些包的详细信息也导了出来。当我们按照这个文件创建环境时,conda会结合我们机器的配置信息,按照配置文件里包的详细信息,去找这个包,结果发现“查无此包”,环境创建失败,报出Solving environment: failed和ResolvePackageNotFound:
	- zlib==1.2.12

# 第二次遇到该问题
dependencies放入到 pip

# 第三次 依赖冲突...

pm2 start

conda create -n envname

conda activate envname

which python

pm2 start app.py --interpreter=/Users/testname/miniconda3/bin/python

Linux安装

mac安装