在 Windows 中激活 conda 环境时如何更改目录

Lia*_*nen 5 windows cmd anaconda conda

基于此问答(由 Nehal J Wani 回答),似乎可以创建并修改某个配置文件,以便在激活 conda 环境时自动更改目录。有人知道如何在 Windows 中执行此操作和/或可以将以下代码转换为 Windows 友好的步骤吗?

(root) [watchmen@manhattan ~]# mkdir /tmp/myproject
(root) [watchmen@manhattan ~]# conda create -yn myproject python=3.6
(root) [watchmen@manhattan ~]# source activate myproject
(myproject) [watchmen@manhattan ~]# mkdir -p $CONDA_PREFIX/etc/conda/activate.d
(myproject) [watchmen@manhattan ~]# cat <<EOF > $CONDA_PREFIX/etc/conda/activate.d/gotodirs.sh
> #!/bin/bash
> pushd /tmp/myproject
> EOF
(myproject) [watchmen@manhattan ~]# chmod +x $CONDA_PREFIX/etc/conda/activate.d/gotodirs.sh
(myproject) [watchmen@manhattan ~]# pwd
/root
(myproject) [watchmen@manhattan ~]# source deactivate
[watchmen@manhattan ~]# source /conda/bin/activate myproject
/tmp/myproject ~
(myproject) [watchmen@manhattan myproject]# pwd
/tmp/myproject
Run Code Online (Sandbox Code Playgroud)

Emu*_*Emu 8

我意识到这个问题很老,但我遇到了同样的问题并找到了解决方案。

第 1 步:通过运行找出您的环境目录

conda env list
Run Code Online (Sandbox Code Playgroud)

在 conda Powershell 中。

第 2 步:使用以下命令切换到环境目录:

cd [PATH]
Run Code Online (Sandbox Code Playgroud)

或通过导航到 Windows 资源管理器中的目录。(您可以从步骤 1 的输出中复制路径。)

第 3 步:在那里使用命令创建以下目录:

mkdir .\etc\conda\activate.d
Run Code Online (Sandbox Code Playgroud)

或者通过创建一个新目录“etc”,在那里创建一个新目录“conda”,然后在 conda 中创建最终目录“activate.d”。激活环境时将运行此目录中的所有脚本。

第 4 步:使用命令创建脚本(在 activate.d 目录内)

cd .\etc\conda\activate.d
new-item . -name set_working_directory.bat -type "file" -value "cd [PATH]"
Run Code Online (Sandbox Code Playgroud)

其中 [PATH] 是您所需工作目录的路径,或者通过创建一个新文件“.bat”并在里面写入cd [PATH]. 因此,例如,如果您希望 conda 切换到目录 C:\user\Documents,则可以编写cd C:\user\Documents并保存该文件。

现在,当您运行conda activate [your_env]脚本时会自动更改您的目录。