Windows 배치에서 통화 후 통화가 표시되지 않습니다.

Windows 배치에서 통화 후 통화가 표시되지 않습니다.

Python 가상 환경을 생성 및 활성화하고 일부 패키지를 설치하기 위한 이와 같은 배치 파일이 있습니다.

create.bat:

mkdir "%CD%\.venv"
python -m venv .venv
call .venv\Scripts\activate
python -m pip install --upgrade pip

세 번째 줄은 배치의 호출 명령을 사용하여 실행되는 배치 파일입니다. 내가 얻는 것은 이것이다:

E:\test>create.bat

E:\test>mkdir "E:\test\.venv"

E:\test>python -m venv .venv

E:\test>call .venv\Scripts\activate
Collecting pip
  Using cached https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 19.0.3
    Uninstalling pip-19.0.3:
      Successfully uninstalled pip-19.0.3
Successfully installed pip-20.0.2

그러나 보시다시피 마지막 줄을 실행할 때 예상했던 일반적인 프롬프트 텍스트가 표시되지 않습니다.

...
(.venv) E:\test\> python -m pip install --upgrade pip

나머지 작업의 출력만 인쇄합니다. 일반적으로 이것은 문제가 되지 않지만 나중에 작업 중 하나는 입력을 요청하는 Python 스크립트이지만 모든 것이 무시되고 묻지 않고 실행됩니다.

참고로 명령을 하나씩 수동으로 입력하면 출력이 추가됩니다.

E:\test>mkdir "%CD%\.venv"

E:\test>python -m venv .venv

E:\test>call .venv\Scripts\activate

(.venv) E:\test>python -m pip install --upgrade pip
Collecting pip
  Using cached https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 19.0.3
    Uninstalling pip-19.0.3:
      Successfully uninstalled pip-19.0.3
Successfully installed pip-20.0.2

답변1

나는 스스로 답을 찾았습니다. 제가 호출한 배치 스크립트는 Python에서 자동 생성된 스크립트였기 때문에 크게 생각하지 않았습니다. 그러나 그것은 그 줄을 포함했습니다

@echo off

처음에는. 물론 이 명령은 내 스크립트로 다시 돌아왔을 때 여전히 활성 상태였습니다. 다음과 같이 스크립트를 다시 작성하여 해결되었습니다.

mkdir "%CD%\.venv"
python -m venv .venv
call .venv\Scripts\activate
@echo on
python -m pip install --upgrade pip

관련 정보