【问题标题】:Windows .bat file to run python script用于运行 python 脚本的 Windows .bat 文件
【发布时间】:2022-11-12 00:26:16
【问题描述】:

尝试创建一个 Windows .bat 文件来实现以下功能:

cd C:\repo\demo
venv\Scripts\activate
python test.py

在 Visual Studio Code 终端窗口中,我可以毫无问题地运行上述行。

创建了一个 .bat 文件,如下所示:

cd C:\repo\demo
"C:\Users\jw\AppData\Local\Programs\Python\Python310\python.exe" "venv\Scripts\activate"
"C:\Users\jw\AppData\Local\Programs\Python\Python310\python.exe" "python test.py"
pause

当双击上面的 .bat 文件运行它时,以错误结束:

如果 [ "${BASH_SOURCE-}" = "$0" ];然后

SyntaxError:无法在此处分配给文字。也许你的意思是'=='而不是'='?

还尝试了下面的 .bat 代码,也不起作用:

cd C:\repo\demo
venv\Scripts\activate
python test.py
pause

如何更正 .bat 文件以使其正常工作?

【问题讨论】:

  • 您顶部的脚本执行venv\Scripts\activate,但在您的bat 中,您正在调用python 并将activate 作为参数传递。据我所知,activate 是一个可执行文件,您不必将其作为 python 参数传递
  • 1.@CD /D "C:\repo\demo" 2>NUL || Exit /B 2.@Call "venv\Scripts\activate.bat" 3.@If Not ErrorLevel 1 "%LocalAppData%\Programs\Python\Python310\python.exe" "python heatmap.py" 4.@Pause

标签: python batch-file


【解决方案1】:

我不太确定这个话题,但我在网上找到了这个,似乎它可能有用。

https://datatofish.com/batch-python-script/

Batch file to execute python script

【讨论】:

    【解决方案2】:

    您应该从第二行中删除“C:...python.exe”:

    cd C:
    epodemo
    "C:UsersjwAppDataLocalProgramsPythonPython310python.exe" "venvScriptsctivate"
    python heatmap.py  <-- like this
    pause
    

    或删除蟒蛇

    cd C:
    epodemo
    "C:UsersjwAppDataLocalProgramsPythonPython310python.exe" "venvScriptsctivate"
    "C:UsersjwAppDataLocalProgramsPythonPython310python.exe" "heatmap.py"
    pause
    

    【讨论】:

    • 是的,还从 venv 中删除“C:..python.exe”
    猜你喜欢
    • 2014-01-07
    • 2017-10-27
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多