【发布时间】:2020-05-28 21:00:16
【问题描述】:
假设我有一个在 Windows 中创建 Conda 环境的项目,当我激活环境时,工作目录始终是我的用户文件夹。我每次都需要将目录更改为我的项目文件夹。激活 Conda 环境时有没有办法指定默认目录?
【问题讨论】:
假设我有一个在 Windows 中创建 Conda 环境的项目,当我激活环境时,工作目录始终是我的用户文件夹。我每次都需要将目录更改为我的项目文件夹。激活 Conda 环境时有没有办法指定默认目录?
【问题讨论】:
您可以使用 --prefix 标志。即:
conda create --prefix /some/folder/far/far/away python=3.6
将在文件夹 /some/folder/far/far 中创建名为 away 的环境。
【讨论】:
您可以为您的环境创建一个脚本,该脚本在您执行conda activate <your env> 时运行,然后在其中输入cd 命令:
例子:
(base) C:\ProgramData\Miniconda3>conda activate test
(test) C:\ProgramData\Miniconda3>cd %CONDA_PREFIX%
(test) C:\Users\<myUsername>\.conda\envs\test>mkdir .\etc\conda\activate.d
(test) C:\Users\<myUsername>\.conda\envs\test>mkdir .\etc\conda\deactivate.d
(test) C:\Users\<myUsername>\.conda\envs\test>type NUL > .\etc\conda\activate.d\env_vars.bat
(test) C:\Users\<myUsername>\.conda\envs\test>type NUL > .\etc\conda\deactivate.d\env_vars.bat
现在我编辑了 .\etc\conda\activate.d\env_vars.bat 文件以包含以下内容:
cd C:\
然后,当我激活环境时:
(base) C:\Users\a-fjochhe\.conda\envs\test>conda activate test
C:\Users\a-fjochhe\.conda\envs\test>cd C:\ <--- This happens automatically
(test) C:\> <---- Now I am in C:\ directory
您可以将.\etc\conda\activate.d中的脚本修改为cd到您的工作目录中
【讨论】:
您可以通过在 Linux 上设置 PWD 环境变量来更改工作目录。 Conda 可以选择推送 env。激活变量。 这是一个在激活环境“my”时 cd 到 ~/my-project 的示例。
conda env config vars set PWD=$HOME/my-project -n my
这也可能适用于当前工作目录存储在 %CD% 变量中的 Windows,但我没有尝试过。
注意,每次切换环境时都会显示警告:
警告:覆盖机器中设置的环境变量 覆盖变量 PWD
【讨论】: