how to specify new environment location for conda create

后端 未结 6 1317
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-04 05:33

the default location for packages is .conda folder in my home directory. however, on the server I am using, there is a very strict limit of how much space I can use, which b

相关标签:
6条回答
  • 2020-12-04 06:13

    While using the --prefix option works, you have to explicitly use it every time you create an environment. If you just want your environments stored somewhere else by default, you can configure it in your .condarc file.

    Please see: https://conda.io/docs/user-guide/configuration/use-condarc.html#specify-environment-directories-envs-dirs

    0 讨论(0)
  • 2020-12-04 06:15

    You can create it like this

    conda create --prefix C:/tensorflow2 python=3.7
    

    and you don't have to move to that folder to activate it.

    # To activate this environment, use:
    # > activate C:\tensorflow2
    

    As you see I do it like this.

    D:\Development_Avector\PycharmProjects\TensorFlow>activate C:\tensorflow2
    
    (C:\tensorflow2) D:\Development_Avector\PycharmProjects\TensorFlow>
    
    (C:\tensorflow2) D:\Development_Avector\PycharmProjects\TensorFlow>conda --version
    conda 4.5.13
    
    0 讨论(0)
  • 2020-12-04 06:17

    If you want to use the --prefix or -p arguments, but want to avoid having to use the environment's full path to activate it, you need to edit the .condarc config file before you create the environment.

    The .condarc file is in the home directory; C:\Users\<user> on Windows. Edit the values under the envs_dirs key to include the custom path for your environment. Assuming the custom path is D:\envs, the file should end up looking something like this:

    ssl_verify: true
    channels:
      - defaults
    envs_dirs:
      - C:\Users\<user>\Anaconda3\envs
      - D:\envs
    

    Then, when you create a new environment on that path, its name will appear along with the path when you run conda env list, and you should be able to activate it using only the name, and not the full path.

    Command line screenshot

    In summary, if you edit .condarc to include D:\envs, and then run conda env create -p D:\envs\myenv python=x.x, then activate myenv (or source activate myenv on Linux) should work.

    Hope that helps!

    P.S. I stumbled upon this through trial and error. I think what happens is when you edit the envs_dirs key, conda updates ~\.conda\environments.txt to include the environments found in all the directories specified under the envs_dirs, so they can be accessed without using absolute paths.

    0 讨论(0)
  • 2020-12-04 06:19

    like Paul said, use

    conda create --prefix=/users/.../yourEnvName python=x.x
    

    if you are located in the folder in which you want to create your virtual environment, just omit the path and use

    conda create --prefix=yourEnvName python=x.x
    

    conda only keep track of the environments included in the folder envs inside the anaconda folder. The next time you will need to activate your new env, move to the folder where you created it and activate it with

    source activate yourEnvName
    
    0 讨论(0)
  • 2020-12-04 06:20

    I ran into a similar situation. I did have access to a larger data drive. Depending on your situation, and the access you have to the server you can consider

    ln -s /datavol/path/to/your/.conda /home/user/.conda
    

    Then subsequent conda commands will put data to the symlinked dir in datavol

    0 讨论(0)
  • 2020-12-04 06:39

    Use the --prefix or -p option to specify where to write the environment files. For example:

    conda create --prefix /tmp/test-env python=2.7
    

    Will create the environment named /tmp/test-env which resides in /tmp/ instead of the default .conda.

    0 讨论(0)
提交回复
热议问题