【发布时间】:2020-09-30 23:24:16
【问题描述】:
我希望使用 PowerShell 远程运行/管理 Miniconda。在远程 PC 上,使用以下命令安装了 Miniconda3:
Miniconda3-latest-Windows-x86_64.exe /InstallationType=JustMe /RegisterPython=1 /AddToPath=1 /S /D=%UserProfile%\Miniconda3
注意选项/AddToPath=1 将conda 添加到PATH 环境变量中。
在远程计算机上,使用 PowerShell 创建一个 conda 环境:
PS C:\> Invoke-Command -ComputerName otherpc -ScriptBlock {conda create -n py36 python=3.6}
酷,成功了:
PS C:\> Invoke-Command -ComputerName otherpc -ScriptBlock {conda env list}
# conda environments:
#
base * C:\Users\user1\Miniconda3
py36 C:\Users\user1\Miniconda3\envs\py36
但是,不能简单地激活新环境:
PS C:\> Invoke-Command -ComputerName otherpc -ScriptBlock {
>> conda activate py36
>> conda info
>> }
active environment : None
user config file : C:\Users\user1\.condarc
populated config files :
conda version : 4.8.5
conda-build version : not installed
python version : 3.8.5.final.0
virtual packages :
base environment : C:\Users\user1\Miniconda3 (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/win-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/win-64
https://repo.anaconda.com/pkgs/r/noarch
https://repo.anaconda.com/pkgs/msys2/win-64
https://repo.anaconda.com/pkgs/msys2/noarch
package cache : C:\Users\user1\Miniconda3\pkgs
C:\Users\user1\.conda\pkgs
C:\Users\user1\AppData\Local\conda\conda\pkgs
envs directories : C:\Users\user1\Miniconda3\envs
C:\Users\user1\.conda\envs
C:\Users\user1\AppData\Local\conda\conda\envs
platform : win-64
user-agent : conda/4.8.5 requests/2.24.0 CPython/3.8.5 Windows/10 Windows/10.0.17763
administrator : True
netrc file : None
offline mode : False
我尝试在 ScriptBlock 的开头添加 conda init,这只会对各种 shell 文件添加“无更改”,包括一些 *.ps1 文件,但没有解决任何问题。
如何在 PowerShell ScriptBlock 中激活 conda 环境?
【问题讨论】:
-
我不在 Windows 上,但对于 POSIX shell,
conda init仅创建要在 shell 初始化期间运行的代码 - 它实际上并不运行这些命令。假设它在 PowerShell 上类似,您可能需要在会话中获取脚本miniconda3/shell/condabin/Conda.psm1以启用conda activate命令。不过不确定。
标签: powershell conda remote-access miniconda