如何在Anaconda提示符中运行PowerShell脚本?

3

我正在使用一个没有管理员权限的Windows PC。Python已经安装,但只能在Anaconda提示符中运行,不能在普通的CMD提示符中运行,因为它没有添加到路径中。由于我没有管理员权限,所以无法添加它。

我有一个相当简单的PowerShell脚本,可以运行一堆Python脚本:

cd mydir
python script1
"script 1 done"
python script2
"finished"

编辑:现在,我打开Anaconda提示符并手动粘贴脚本,然后按回车键。一切都完美地运行。有没有办法在PowerShell中做到这一点,即告诉PowerShell打开Anaconda提示符(而不是标准cmd)并将脚本粘贴到其中。

2个回答

1

您可以自己将其添加到路径中,无论是在powershell中:

$env:path += ';C:\ProgramData\Anaconda3'

cd mydir
python script1
"script 1 done"
python script2
"finished"

或者在您的Windows配置文件中。可以在控制面板中找到,或者查看此“用户”表单:设置Windows PowerShell环境变量

Anaconda powershell的快捷方式会做很多事情。如果您不想使用它,那么必须以某种方式复制它。我不是Anaconda用户。

%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\ProgramData\Anaconda3' "

也许将此放在脚本顶部会更好。这样还可以修改路径。
C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1
conda activate C:\ProgramData\Anaconda3

我仍然遇到Python未找到的错误。当我手动尝试登录时,我需要管理员权限。运行您链接中的命令也返回我需要更高的特权来修改路径变量。 - freddy888
将$env:path设置为脚本顶部的路径不起作用吗? - js2010
如果我运行 $env:path += ';C:\ProgramData\Anaconda3\python.exe' python --version,我会得到 Python 未找到的错误。 - freddy888
抱歉,只是放置目录。我编辑了我的回答。 - js2010
没错 - 谢谢!但是现在运行我的脚本时,它会抛出关于numpy和pandas的导入错误。在anaconda提示符中两者都可以正常工作。 - freddy888
显示剩余2条评论

1

对我来说,添加了三个路径解决了问题。

$env:path += ';C:\ProgramData\Anaconda3\' 
$env:path += ';C:\ProgramData\Anaconda3\Scripts\'
$env:path += ';C:\ProgramData\Anaconda3\Library\bin'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接