【问题标题】:How to activate a Conda environment in a custom working directory?如何在自定义工作目录中激活 Conda 环境?
【发布时间】:2020-05-28 21:00:16
【问题描述】:

假设我有一个在 Windows 中创建 Conda 环境的项目,当我激活环境时,工作目录始终是我的用户文件夹。我每次都需要将目录更改为我的项目文件夹。激活 Conda 环境时有没有办法指定默认目录?

【问题讨论】:

    标签: python anaconda conda


    【解决方案1】:

    您可以使用 --prefix 标志。即:

    conda create --prefix /some/folder/far/far/away python=3.6
    
    

    将在文件夹 /some/folder/far/far 中创建名为 away 的环境。

    【讨论】:

      【解决方案2】:

      您可以为您的环境创建一个脚本,该脚本在您执行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到您的工作目录中

      【讨论】:

        【解决方案3】:

        您可以通过在 Linux 上设置 PWD 环境变量来更改工作目录。 Conda 可以选择推送 env。激活变量。 这是一个在激活环境“my”时 cd 到 ~/my-project 的示例。

        conda env config vars set PWD=$HOME/my-project -n my
        

        这也可能适用于当前工作目录存储在 %CD% 变量中的 Windows,但我没有尝试过。

        注意,每次切换环境时都会显示警告:

        警告:覆盖机器中设置的环境变量 覆盖变量 PWD

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-22
        • 2016-06-08
        • 1970-01-01
        • 1970-01-01
        • 2019-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多