virtualenv와 virtualenvwrapper를 사용하고 있습니다. workon
명령을 사용하여 virtualenv를 잘 전환 할 수 있습니다 .
me@mymachine:~$ workon env1
(env1)me@mymachine:~$ workon env2
(env2)me@mymachine:~$ workon env1
(env1)me@mymachine:~$
모든 가상 머신을 종료하고 실제 머신에서 다시 작업하려면 어떻게해야합니까? 지금 당장 내가 얻는 유일한 방법 me@mymachine:~$
은 쉘을 종료하고 새로운 쉘을 시작하는 것입니다. 그것은 성가신 종류입니다. “아무것도”에 대해 작동하는 명령이 있습니까? 그렇다면 무엇입니까? 그러한 명령이 존재하지 않으면 어떻게 작성합니까?
답변
일반적으로 virtualenv를 활성화하면 다음과 같은 이름의 쉘 함수가 제공됩니다.
$ deactivate
상황을 정상으로 되돌립니다.
방금 코드를 다시 살펴 보았습니다 virtualenvwrapper
. 그렇습니다 deactivate
. 모든 virtualenv에서 벗어날 수있는 방법으로 도 지원합니다 .
Anaconda 환경 을 떠나려고하는 경우 명령은 버전에 따라 다릅니다 conda
. 4.6과 같은 최신 버전 conda
은 쉘에 직접 함수를 설치합니다 .이 경우 다음을 실행합니다.
conda deactivate
이전 버전의 conda 버전은 독립형 스크립트를 사용하여 비활성화를 구현합니다.
source deactivate
답변
나는 정의 별칭 , workoff을 반대로, workon :
alias workoff='deactivate'
기억하기 쉽습니다.
[bobstein@host ~]$ workon django_project
(django_project)[bobstein@host ~]$ workoff
[bobstein@host ~]$
답변
사용하다:
$ deactivate
그래도 문제가 해결되지 않으면
$ source deactivate
Bash의source
작동 방식을 아는 사람 은 이상하다고 생각하지만 virtualenv 주변의 일부 래퍼 / 워크 플로우는이를 보완 / 대응으로 구현합니다 source activate
. 귀하의 마일리지가 다를 수 있습니다.
답변
Python 가상 환경을 활성화하려면 다음을 수행하십시오.
$cd ~/python-venv/
$./bin/activate
비활성화하려면 :
$deactivate
답변
Miniconda3 환경에서 다음을 실행해야한다는 것을 알았습니다.
conda deactivate
나도 일 하지 deactivate
않았다 source deactivate
.
답변
virtualenvwrapper
작업 방식을 쉽게하기 위해 사용할 수 있습니다 virtualenv
.
설치 virtualenvwrapper
:
pip install virtualenvwrapper
표준 쉘을 사용하는 경우 ~/.bashrc
또는 Oh My Zsh~/.zshrc
를 사용하는 경우를여 십시오 . 다음 두 줄을 추가하십시오.
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
기존 virtualenv를 활성화하려면 workon
다음 명령을 사용하십시오 .
$ workon myenv
(myenv)$
virtualenv를 비활성화하려면 다음을 수행하십시오.
(myenv)$ deactivate
다음은 virtualenv 및 virtualenvwrapper를 설치하는 방법에 대한 단계별 자습서 입니다.
답변
이후 deactivate
소싱에 의해 생성 기능이 ~/bin/activate
이러한 명령을 찾는 일반적인 방법으로 발견 할 수없는 ~/bin
, 당신은 단지 기능을 실행을 만들 수도 있습니다deactivate
.
문제는 deactivate
단일 명령 deactivate
을 포함하는 이름의 스크립트 가 venv에 있지 않은 동안 실수로 실행될 경우 무한 루프를 발생 시킨다는 것입니다. 흔한 실수입니다.
이것은 deactivate
함수가 존재 하는 경우 에만 실행하여 피할 수 있습니다 (즉, 소싱하여 생성 activate
).
#!/bin/bash
declare -Ff deactivate && deactivate