【问题标题】:Windows bat script fails with command on multiple lineWindows bat 脚本因多行命令而失败
【发布时间】:2021-12-29 04:05:15
【问题描述】:

我有两台机器需要运行一个脚本如下:

cd C:\my_project\
git pull
set ENV=prod
set USERNAME=me
poetry config virtualenvs.create false
poetry install
poetry run python -m my_module

这是两台机器的版本:

机器 1

>cmd /version
Microsoft Windows [version 10.0.19042.1348]
(c) Microsoft Corporation. Tous droits réservés.

机器 2

>cmd /version
Microsoft Windows [version 10.0.19042.1288]
(c) Microsoft Corporation. Tous droits réservés.

脚本在机器 2 上运行良好,但在机器 1 上的第一个诗歌命令后停止。我必须修改机器 1 上的脚本,以将所有诗歌命令放在一行中,并用 & 分隔以使正确运行的脚本。

cd C:\my_project\
git pull
set ENV=prod
set USERNAME=me
poetry config virtualenvs.create false & poetry install & poetry run python -m my_module

更多上下文:

  • 每个命令后错误级别为 0
  • 我在两台机器上以相同的用户和相同的权限运行
  • 我重新启动了机器 1,但行为仍然相同

这是 Windows 版本的问题吗?这是某些资源(内存,CPU ...)的问题吗?这是编码/不可见字符的问题吗?诗歌的安装问题?

【问题讨论】:

    标签: python windows batch-file python-poetry


    【解决方案1】:

    在您的机器上 1 - 诗歌是一个批处理文件!
    你可以改用call poetry

    可能你安装诗歌的方式不同。

    这是 get-poetry.py 安装脚本中的一个错误,它会创建 在 Windows 上,poetry.bat,所以最近的 shell 总是 cmd.exe。

    解决方法是使用 pip 或 pipx 安装 Poetry。

    On windows poetry shell always start a cmd

    【讨论】:

      猜你喜欢
      • 2021-10-23
      • 2015-12-01
      • 2022-06-10
      • 1970-01-01
      • 2019-11-07
      • 2023-03-16
      • 2015-08-05
      • 2022-10-23
      • 1970-01-01
      相关资源
      最近更新 更多