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

时间:2017-09-19 16:33:08

标签: windows batch-file cmd anaconda

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

是否有另一种方法可以为anaconda提示运行批处理文件? 我知道我可以修改我的PATH以使cmd.exe运行python命令,但如果可能的话我想避免这种情况。

9 个答案:

答案 0 :(得分:25)

我相信所有Anaconda提示都是开放CMD并运行<anaconda_dir>/Scripts/activate.bat <anaconda_dir>作为第一个命令,所以你应该尝试将它放在脚本的顶部。

答案 1 :(得分:12)

延伸杰里米的回答:

你需要使用var cost = "" if let price = dict["price"] as? Int { cost = "\(price)" } else if let price = dict["price"] as? Double { cost = "\(price)" } 作为&#34; activate.bat&#34;脚本以及任何后续的Anaconda / Python相关命令。否则,即使您使用call语句,提示也会在运行命令后立即退出。请看下面的例子:

pause

答案 2 :(得分:8)

添加

call "<anaconda_dir>\Scripts\activate.bat"

脚本开始(它实际上不需要参数,并且默认情况下会激活base环境)。

请注意,在此行之后,您可以使用CONDA_ envvars!

答案 3 :(得分:5)

对于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"

答案 4 :(得分:4)

由于有了这个线程,我解决了获得Windows批处理文件以打开Ananconda Prompt,然后运行一些python代码的难题。

这是批处理文件:

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

答案 5 :(得分:1)

如果您使用的是Windows操作系统,则可以替代上述解决方案。您可以使用git bash

  1. 您需要将conda.sh的路径添加到.bash_profile上,或者将其命名为能够运行conda命令的名称。这是一个示例:

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

这也是一个很好的选择。

检查thisthis以获得更多详细信息。 希望它可以帮助某人:)。

答案 6 :(得分:0)

Powershell版本:

List<Channel>

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

答案 7 :(得分:0)

扩展@N4v 答案,因为这是在调用 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

答案 8 :(得分:0)

根据@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 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

通过在批处理文件的末尾包含 conda deactivate,您将命令行保持在您开始时的状态。如果您需要不同的 conda 环境,您可以在 activate.bat 之后指定。