제가 질문을 드린 이후로Python 패키지 처리를 위한 Pip 및 패키지 관리자 비교venv
특히 모듈의 가상 환경 에 대해 많은 것을 배웠습니다 . 요즘은 거의 패키지만 설치해요pip
~에가상 환경. 나는 시스템 전체에 Python 패키지를 거의 설치하지 않습니다.
pip install
하지만 제가 항상 두려워하는 한 가지는 명령이 활성화되어 있지 않다는 사실을 깨닫지 못한 채 명령을 실행할 수 있다는 것입니다 venv
.
pip를 블랙리스트에 올리는 방법이 있나요?오직내가 없을 때 venv
?
답변1
글로벌 옵션이 있습니다require-virtualenv
작동하려면 가상 환경이 필요합니다 pip
.
이 기능을 구현하는 여러 가지 방법(하나를 선택하세요):
~/.config/pip/pip.conf
예를 들어 또는 다음과 같은 구성 옵션(제가 선호하는 것)으로/etc/pip.conf
:[global] require-virtualenv = True
이것을 실행할 수도 있습니다주문하다구성 파일을 수정/생성합니다.
pip config set global.require-virtualenv True
환경 변수를 사용하여
PIP_REQUIRE_VIRTUALENV
value 로 설정합니다true
.--require-virtualenv
명령줄 옵션을 직접 사용하십시오.
virtualenv 외부에 패키지를 설치하려고 하면 다음 오류가 표시됩니다.
ERROR: Could not find an activated virtualenv (required).
pip를 업그레이드하거나 이전 Python 버전에 virtualenv를 설치하기 위해 이 옵션을 일시적으로 재정의해야 하는 경우 명령 앞에 PIP_REQUIRE_VIRTUALENV=false
.
참고: 이전 pip 버전(< 22.0)에서는 이 옵션이 출력 및 문서에서 누락된 것처럼 보이지만 --help
제게는 잘 작동합니다. 최신 버전으로 20.3.4를 사용하여 Python 2.7.x에서 테스트되었습니다.
참고 사항:공개 계정 704(작성 당시 초안)은 제안서입니다."[...] Python 3.13+에서는 pip와 같은 패키지 설치 프로그램에 기본적으로 가상 환경이 필요한 것이 좋습니다.".
답변2
쉘 별칭을 사용하여 pip
가상 환경 외부를 인수할 수 있습니다.
alias 'pip=cowsay "You are not in a virtual environment"'
virtualenv 시작 파일(예: venv를 입력할 때 얻는 파일):
unalias 'pip'