Skip to content

Implementation of Conda's activate/deactivate functions in Powershell.

License

Notifications You must be signed in to change notification settings

shorlee/PSCondaEnvs

 
 

Repository files navigation

PSCondaEnvs

Implementation of Conda's activate/deactivate functions in PowerShell. Works with Anaconda 4.1 and newer. Works on Windows, macOS, Linux. Works with PowerShell 2.0 and up.

Quick Install

Open a Powershell or Command Prompt session, and enter the following command:

conda install -n root -c pscondaenvs pscondaenvs

Done! Note, you may need to change the Powershell Execution-Policy to RemoteSigned in order for this package to work.

Manual Install

If you want to install manually for some reason, copy activate.ps1, deactivate.ps1 and invoke_cmdscript.ps1 into your Anaconda\Scripts directory (Windows) or activate.ps1 and deactivate.ps1 to anaconda/bin directory (macOS, Linux).

Usage

Simply use the activate and deactivate commands as normal:

PS C:\> activate TestEnv
(TestEnv) PS C:\> deactivate

For fine control of activation of an individual environment, activate.ps1 will execute both .ps1 and .bat scripts in etc\conda\activate.d\ in the target environment just as activate.bat would do with .bat scripts. Similarly, deactivate.ps1 exetutes sctipts in etc\conda\deactivate.d\

For more help:

PS C:> help activate.ps1

Caveats

  • Activate.ps1 uses internal conda commands ..checkenv and ..activate (just as activate.bat does). Things may stop working when conda changes the semantics of those commands. Also, older versions of conda (probably) do not support those commands.
  • The names of the scripts do not follow established PowerShell naming convention. Probably more appriopriate names for the sctipts would be Enable-CondaEnv/Disable-CondaEnv, or, even better: Enter-CondaEnvironment/Exit-CondaEnvironment (the verbs enable/disable are meant for lifecycle management). Long, but then again: New-Alias is your friend.
  • activate and deactivate Powershell Aliases are automatically added when you first activate your environment. This is to override any activate/deactivate.bat or .activate/deactivate.sh files that appear in your individual environment's binary path, that would normally execute instead.

Credits

About

Implementation of Conda's activate/deactivate functions in Powershell.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PowerShell 90.7%
  • Batchfile 7.7%
  • Shell 1.6%