Windows Powershell 自动激活conda

邱秋 • 2023年08月05日 • 阅读:463 • windows powershell python

windows 上安装了conda 之后,不像linux 和 Mac,这个逼要手动激活,每次我打开terminal , 都要执行一次,操 。

安装

// Window cmd
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe -o miniconda.exe
start /wait "" .\miniconda.exe /S
del miniconda.exe

// Windows powershell
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe -o miniconda.exe
Start-Process -FilePath ".\miniconda.exe" -ArgumentList "/S" -Wait
del miniconda.exe

//Mac
mkdir -p ~/miniconda3
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh

//Linux
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh

安装完成之后要初始化一下

~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh

所以我看它激活的流程之后。 魔改一下, 每当我打开 terminal , 他它自动激活虚拟环境。

Window PowerShell 自动激活conda环境

打开 Terminal的配置文件

$ code $profile  

在打开的 Microsoft.PowerShell_profile.ps1 的加入以下内容:

$Env:CONDA_EXE = "d:/anaconda3\Scripts\conda.exe"
$Env:_CE_M = ""
$Env:_CE_CONDA = ""
$Env:_CONDA_ROOT = "d:/anaconda3"
$Env:_CONDA_EXE = "d:/anaconda3\Scripts\conda.exe"
$CondaModuleArgs = @{ChangePs1 = $True}
Import-Module "$Env:_CONDA_ROOT\shell\condabin\Conda.psm1" -ArgumentList $CondaModuleArgs

Remove-Variable CondaModuleArgs
set-ExecutionPolicy ByPass
conda activate 'd:\anaconda3' #激活默认的base环境
#conda activate ai #激活名为ai的环境

保存之后,这样在下次打开 terminal 就会自动激活 虚拟环境

conda 一些常用命令

查看环境中安装了哪些包,默认是base环境

conda list

查看当前存在哪些虚拟环境

conda env list 
conda info -e

检查更新当前conda

conda update conda

Python创建虚拟环境

conda create -n [env_name] python=x.x
# 或者克隆
conda create -n your_name --clone env_name

anaconda命令创建python版本为x.x,名字为env_name的虚拟环境。env_name文件可以在Anaconda安装目录envs文件下找到

激活或者切换虚拟环境

打开命令行,输入python --version检查当前 python 版本。

# Linux:  
source activate [env_name]
conda activate [env_name]
# Windows: 
conda activate [env_name]

对虚拟环境中安装额外的包

conda install -n env_name [package]  # 未激活环境
conda install [package]  # 如果已经激活环境

关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)

source deactivate  
conda deactivate 

删除虚拟环境

conda remove -n env_name --all

删除环境中的某个包

conda remove --name $env_name  $package_name 

设置国内镜像

http://Anaconda.org的服务器在国外,安装多个packages时,conda下载的速度经常很慢。清华TUNA镜像源有Anaconda仓库的镜像,将其加入conda的配置即可:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
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/pkgs/free/
conda config --set show_channel_urls yes

恢复默认镜像

conda config --remove-key channels

安装某些包

conda install -c anaconda scikit-learn    # 安装sklearn
pip install -i pypi.douban.com/simple tensorflow-gpu==1.14   #用豆瓣源安装包,上面的清华园同理,记得-i

Mac 中自动激活

Bash : ~/.bashrc ZShell :~/.zshrc

如果使用Bash , 则修改 .bashrc , 如果使用 zshell, 则修改 .zshrc

加入以下 内容 :

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/usr/local/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/usr/local/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/usr/local/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/usr/local/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

我,秦始皇,打钱!