나는 사용한다가상 환경 래퍼내 Python 환경을 관리합니다. 내 전역 postactivate
파일(가상 환경을 활성화한 후 얻은 Bash 스크립트)에는 다음 내용이 포함되어 있습니다.
if [ -f 'activate.sh' ]; then
echo 'activate virtualenv settings'
source 'activate.sh'
fi
activate.sh
이 파일은 가상 환경에 연결된 프로젝트에 해당 파일이 포함된 경우에만 얻어야 합니다. 그러나 workon
해당 파일이 포함된 프로젝트에서 명령을 사용하면 다음과 같은 출력과 오류가 발생합니다.
activate virtualenv settings
/home/…/.virtualenvs/postactivate: Zeile 15: source: activate.sh: Datei nicht gefunden.
따라서 테스트에서는 activate.sh
파일을 찾은 것처럼 보이지만 15행(즉 source activate.sh
, 오류가 다음으로 변환되는 행) 에 오류가 발생합니다.파일을 찾을 수 없습니다). 왜?
답변1
POSIX 적합성 모드(예: as가 호출되거나 is가 환경에 있는 sh
경우 )에 있을 때 인수에 슬래시 문자가 포함되어 있지 않으면 대신 POSIX require 유틸리티(s와 동등한 표준)처럼 검색됩니다POSIXLY_CORRECT
source
bash
$PATH
.
bash
source
스크립트 인 경우 다음을 sh
수행해야 합니다.
- /standard 가 아닌
.
, not 을 사용하세요 .source
sh
- 현재 디렉토리에 들어가려는 경우
. ./file
찾기에서 찾은 첫 번째 항목을 가져오는 대신 사용하십시오.file
. file
file
$PATH