Windows 如何使批处理文件在anaconda提示符下运行

Windows 如何使批处理文件在anaconda提示符下运行,windows,batch-file,cmd,anaconda,Windows,Batch File,Cmd,Anaconda,在windows中安装anaconda3后,我可以从anaconda提示符运行python命令,但不能从windows命令提示符运行python命令。 我想创建一个桌面快捷方式来激活我的环境并从中运行spyder。以前,我会使用.bat文件来执行此操作,但现在我无法从cmd.exe运行python命令,这不起作用 对于anaconda提示符,是否有运行批处理文件的替代方法? 我知道我可以修改我的路径以获得cmd.exe来运行python命令,但如果可能的话,我希望避免这种情况。我相信Anacon

在windows中安装anaconda3后,我可以从anaconda提示符运行python命令,但不能从windows命令提示符运行python命令。 我想创建一个桌面快捷方式来激活我的环境并从中运行spyder。以前,我会使用
.bat
文件来执行此操作,但现在我无法从
cmd.exe
运行python命令,这不起作用

对于anaconda提示符,是否有运行批处理文件的替代方法?
我知道我可以修改我的
路径
以获得
cmd.exe
来运行python命令,但如果可能的话,我希望避免这种情况。

我相信Anaconda提示符所做的就是打开cmd并运行批处理文件。执行脚本的第一个命令:

call <anaconda_dir>/Scripts/activate.bat <anaconda_dir>
call/Scripts/activate.bat

扩展Jeremy的答案:

对于“activate.bat”脚本以及任何后续与Anaconda/Python相关的命令,确实需要使用
call
。否则,即使使用
pause
语句,在运行命令后提示也会立即退出。请参见以下示例:

set root=C:\Users\john.doe\AppData\Local\Continuum\anaconda3

call %root%\Scripts\activate.bat %root%

call conda list pandas

pause

调用“\Scripts\activate.bat”
到脚本的开头(它实际上不需要参数,默认情况下会激活
base
环境)

请注意,在这一行之后,您可以使用
CONDA\uu
envvars

Powershell版本:

$qtconsole="C:\Users\<YourUserName>\.anaconda\navigator\scripts\qtconsole.bat"
start-process $qtconsole -WindowStyle Hidden
$qtconsole=“C:\Users\\.anaconda\navigator\scripts\qtconsole.bat”
启动进程$qtconsole-WindowsStyle隐藏

注意:由于Linux QT GUI库的DLL限制,此脚本一次仅启动qtconsole的一个实例,仅支持同一exe的一个实例同时运行。这可能就是为什么他们使用“Anaconda Navigator”来启动QtConsole程序来绕过这一限制

多亏了这个线程,我解决了获取windows批处理文件以打开Ananconda提示符,然后运行一些python代码的难题

以下是批处理文件:

@echo on
call C:\ProgramData\Anaconda3\Scripts\activate.bat
C:\ProgramData\Anaconda3\python.exe "D:\Documents\PythonCode\TFLAPI\V1.py"

对于Windows,在批处理文件中使用以下脚本来执行Python脚本。只需按以下方式更改您的个人文件路径:

cmd /c C:\ProgramData\Anaconda3\condabin\conda.bat run "C:\ProgramData\Anaconda3\python.exe" "C:\Users\User Name\Path to your Python File\Python File.py"

作为上述解决方案的替代方案,如果您使用的是windows操作系统。您可以使用gitbash

  • 您需要将
    conda.sh
    的路径添加到
    .bash\u profile
    或任何名称,以便能够运行conda命令。以下是一个例子:

    echo ". C:/Users/user/Anaconda3/etc/profile.d/conda.sh" >> ~/.bash_profile 
    
  • 运行脚本=>
    。script.sh

  • 这也是一个很好的选择

    查看和以了解更多详细信息。
    希望它能帮助某人:)

    扩展@N4v answer,因为这是我调用Python脚本的唯一有效方法。Python版本是3.7

    set root=C:\Users\xxxx\Anaconda3 #Anaconda default  folder on my computer
    set env1=C:\Users\xxxx\Anaconda3\envs\py37 #My Python environment folder. The name I gave is  py37. Can be specific to yours
    call %root%\Scripts\activate.bat %env1% #Call command to activate py37 environment.
    python "C:\Path to the folder with python file\Pythonfile.py" #Run the  file  of interest after running  python specific  to the called environment. Replace  this  with your files path and name. 
    
    pause
    

    根据@ivan_pozdeev的回答,我发现以下是最干净的解决方案:

    @ECHO OFF    
    CALL "<anaconda_dir>\Scripts\activate.bat" [<conda_environment_if_not_base>]
    %CONDA_PYTHON_EXE% "<full_path_to_your_python_script>" %1 %2 %3 %4 %5 %6 %7 %8 %9
    conda deactivate
    
    @ECHO关闭
    调用“\Scripts\activate.bat”[]
    %CONDA_PYTHON_EXE%“”%1%2%3%4%5%6%7%8%9
    康达酒店
    
    例如:

    @ECHO OFF
    CALL "E:\ProgramData\Anaconda3\Scripts\activate.bat"
    %CONDA_PYTHON_EXE% "C:\Users\<user>\Documents\Python3\my_project\src\my_script.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
    conda deactivate
    
    @ECHO关闭
    调用“E:\ProgramData\Anaconda3\Scripts\activate.bat”
    %CONDA\u PYTHON\u EXE%“C:\Users\\Documents\Python3\my\u project\src\my\u script.py”%1%2%3%4%5%6%7%8%9
    康达酒店
    

    通过在批处理文件的末尾包含
    conda deactivate
    ,可以使命令行保持启动状态。如果你需要一个不同的conda环境,你可以在
    activate.bat

    之后指定它。我相信Anaconda提示符所做的就是打开CMD并运行
    /Scripts/activate.bat
    作为第一个命令,这样你就可以尝试将它放在脚本的顶部。谢谢,成功了,这很简单!伟大的我会把它移到一个答案,这样你就可以把你的问题标记为已回答。语法未知。anaconda并不总是安装在同一个目录中。可能在批处理文件中使用
    call
    ,因此在第一个命令后它不会退出?我发现即使使用
    call
    ,我的提示也会关闭,我在文件末尾添加了
    cmd/k
    。解决方案有点不令人满意,因为每个系统上的anaconda目录都不同。最好在Linux中使用类似shebang的命令,告诉脚本不要使用cmd.exe调用,而是使用anaconda提示符调用。您必须手动将anaconda目录插入我指定的位置,除非缺少环境变量。anaconda提示符实际上只是cmd.exe,而“如果Windows更像Linux,那就更好了”不是一个选项,因此shebang没有太大意义。如果您创建了多个conda环境,则可以通过将其作为参数提供给activate.bat文件来激活特定的conda环境。因此,命令将变成call/Scripts/activate.bat install“activestatepython3.5”,而不是anaconda。。确保它在您的路径中,然后键入:“PS C:\user\dfsdsddf>jupyter notebook”…您可以习惯于使用笔记本而不是qtconsole进行小计算非常感谢这是一个完整的解决方案,并提供了一个工作示例。
    @ECHO OFF
    CALL "E:\ProgramData\Anaconda3\Scripts\activate.bat"
    %CONDA_PYTHON_EXE% "C:\Users\<user>\Documents\Python3\my_project\src\my_script.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
    conda deactivate