저는 가상 환경을 다루는 방법으로 아나콘다를 사용합니다. 이는 여러 버전의 Python이 설치되어 있음을 의미합니다. 셸에서 Python을 실행하면 잘못된 Python 버전이 시작되는 상황이 발생합니다.
달리기
Which python
/anaconda3/envs/dash-two/bin/python
type -a python
python is /anaconda3/envs/dash-two/bin/python
python is /usr/bin/python
이것에 영감을 받아우편 엽서hash -t python을 시도하고 별칭의 출력을 살펴보았습니다.
답변1
가상 환경을 사용하고 싶은데 아직 활성화하지 않으셨습니다. 이를 위해 (기본 venv 항목이 설치되어 있다고 가정 - python3에서 더 잘 작동함)
$ mkdir pytry
$ python3 -m virtualenv pytry
이제 pytry
.cd를 입력 하면 pytry
다음과 같은 내용이 표시됩니다.
$ ls
bin include lib local share
$
지금 달려라
source bin/activate
가상 환경 디렉터리에서 위의 실행을 참고하세요(우리의 경우 pytry
).
$
이제 프롬프트가 (예 : ) 에서 변경되어야 함을 알 수 있습니다.(pytry) $
which python
Python 실행 파일이 표시됩니다 .
다른 실행 파일을 원한다면 venv를 생성할 때 대신 실행해야 합니다.
python3 -m virtualenv pytry
하다
python3 -m virtualenv -p other_python_executable pytry
일반적으로 도움말이 표시됩니다.
$ python3 -m virtualenv -h
답변2
이는 "PATH" 환경 변수에서 제어됩니다.
PATH는 입력한 명령에 대해 검색되는 디렉터리 목록입니다. 콜론으로 구분된 단일 문자열입니다. 예를 들어, PATH가 다음과 같이 설정되어 있기 때문에 홈 디렉터리( )에 넣은 모든 항목은 /home/philip/bin
사용되지만 그 안의 항목은 사용되지 않습니다 ./usr/bin/
echo $PATH
/home/philip/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
경로를 일시적으로 변경하려면 "내보내기"를 사용하여 설정할 수 있습니다. 예를 들어:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/home/philip/bin
이 기능을 영구적으로 설정하려면 프로필에서 설정해야 합니다. 위의 것과 유사한 행(경로가 재정렬됨)을 라는 홈 디렉토리에 넣으면 됩니다 .profile
. 존재하지 않는 경우 해당 행을 만들고 추가하면 됩니다.
답변3
Anaconda가 PATH를 밟고 있는 것 같습니다(즉, 기본 시스템 인터프리터 경로 앞에 자체 Python 인터프리터 경로를 올리는 것). 이 문제를 해결하는 방법에는 여러 가지가 있습니다.
올바른 버전의 Python을 사용하여 Anaconda 인스턴스를 만듭니다.
conda create -n myenv python=3.4
anaconda 인스턴스를 로드한 후 PATH 환경 변수를 덮어씁니다.
export PATH=/usr/bin:$PATH
또는 스크립트 파일의 첫 번째 줄에 기본 경로를 입력하고 파일을 실행 가능하게 만든 다음 쉘 스크립트로 실행하세요. 스크립트의 첫 번째 줄은 다음과 같습니다.
#!/usr/bin/python
"chmod" 명령을 사용하여 파일을 실행 가능하게 만들 수 있습니다:
> chmod 700 file.py
그런 다음 명령줄에서 실행합니다.
> file.py