우분투에서 가상 파이썬 환경을 설정하고 사용하는 방법은 무엇입니까?


73

파이썬 가상 환경은 의존성 및 버전 충돌을 피하고 간접적으로 권한 문제를 처리하기 위해 격리 된 파이썬 환경을 만드는 데 사용됩니다. 그러나 우분투에서 설정하고 사용하는 가장 쉬운 방법은 무엇입니까?

답변:


99

virtualenvwrapper(의 기능에 대한 사용자 친화적 인 래퍼 virtualenv)

virtualenv 설치

virtualenv함께 설치

sudo apt-get install virtualenv

(Ubuntu 14.04 (trusty) 설치용 python-virtualenv)

virtualenvwrapper 설치

또한 virtualenvwrapper 를 설치하는 이유는 가상 환경을 관리하기위한 훌륭하고 간단한 명령을 제공하기 때문입니다. 설치하는 방법에는 두 가지가 있습니다 virtualenvwrapper.

우분투 패키지로 (우분투 16.04부터)

운영

sudo apt install virtualenvwrapper

그런 다음 실행

echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc

핍 사용

  1. pip 설치 및 / 또는 업데이트

    Python 2 용 pip 설치

    sudo apt-get install python-pip

    또는 파이썬 3

    sudo apt-get install python3-pip

    (파이썬 3을 사용한다면, 이 가이드의 나머지 부분 pip3대신에 사용해야 할 수도 있습니다 pip).

    선택 사항 (권장) : pip에 대해 bash 자동 완성을 켭니다 .

    운영

    pip completion --bash >> ~/.bashrc

    source ~/.bashrc활성화하기 위해 실행 합니다.

  2. virtualenvwrapper 설치

    때문에 우리가 피하고 싶은sudo pip 우리가 설치 virtualenvwrapper(아래 기본적으로 로컬 ~/.local과) :

    pip install --user virtualenvwrapper

    echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
  3. 소스 가상 환경 .bashrc

    echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrc

virtualenv 및 virtualenvwrapper를 설정하십시오.

먼저 WORKON_HOME가상 환경을 저장할 디렉토리가 포함 된 변수를 내 보냅니다 . 이것을 만들어 보자~/.virtualenvs

export WORKON_HOME=~/.virtualenvs

이제이 디렉토리를 만드십시오

mkdir $WORKON_HOME

이 내보내기를 ~/.bashrc파일 에 넣으면이 변수가 자동으로 정의됩니다.

echo "export WORKON_HOME=$WORKON_HOME" >> ~/.bashrc

또한 다음과 같은 몇 가지 추가 트릭을pip 추가하여 가상 환경을 추가로 만들면 WORKON_HOME디렉토리 에도 배치 할 수 있습니다 .

echo "export PIP_VIRTUALENV_BASE=$WORKON_HOME" >> ~/.bashrc 

변경 사항을로드 할 소스 ~ / .bashrc

source ~/.bashrc

작동하는지 테스트

이제 첫 번째 가상 환경을 만듭니다. -p인수가 사용 파이썬 버전을 설정하는 데 사용됩니다, 선택 사항입니다; 그것은 또한 할 수있다 python3예를 들면.

mkvirtualenv -p python2.7 test

환경이 설정되고 프롬프트에 현재 환경 이름이 괄호 안에 포함되어 있음을 알 수 있습니다. 또한 지금 실행하면

python -c "import sys; print sys.path"

/home/user/.virtualenv/...이제 시스템 사이트 패키지를 사용하지 않기 때문에 많은 것을 볼 수 있습니다.

다음을 실행하여 환경을 비활성화 할 수 있습니다

deactivate

다시 작업하려면 간단히 입력하십시오.

workon test

마지막으로 환경을 삭제하려면 다음을 입력하십시오.

rmvirtualenv test

즐겨!


이 블로그 포스트 의 작성자에게 감사합니다 .


2
python-pip그리고 python-virtualenv우분투 repsitory, 수동 설치에 대한 필요를 통해 설치할 수 있습니다.
Timo

2
그러나 우분투에서는 여러 가지 이유로 우분투 패키지를 권장합니다. 이전 버전의 pip 또는 virtualenv에는 아무런 문제가 없으며 완벽하게 사용할 수 있습니다.
tumbleweed

1
@ GerhardBurger : python3 virtualenv를 만들면 python3에서 작동하는 pip를 얻습니다. Ubuntu의 virtualenv를 사용하여 virtualenv를 만들면 수행 한 모든 내용이 virtualenv에 포함됩니다. sudo easy_installing 작업을 시작하면 / usr / local에 엉망이 생길 것입니다. 많은 이득없이 정리하기가 쉽지 않습니다.
tumbleweed

별칭이 필요하지 않은 것 같습니다 : --no-site-packages기본값이며 --distribute더 이상 사용되지 않습니다
int_ua

mkvirtualenv test작동하지 않는 경우 : stackoverflow.com/questions/15608236/…
Nikos Alexandris

8

가상 환경은 프로젝트별로 종속성을 관리하고 격리하는 방법을 제공합니다. 또한 https://askubuntu.com/a/802594/15003sudo pip install 에서 설명한 보안 위험 인 전체 상황을 피합니다 . 공식적인 파이썬 문서는 또한 가상 환경의 사용을 권장합니다 .

Python 2와 Python 3 모두에 대한 가상 환경을 만들고 사용하는 가장 쉬운 방법은 또는 을 사용 virtualenv하여 설치 하는 것 입니다. 각 Python 프로젝트에 대해 virtualenv를 작성한 후 활성화하십시오. virtualenv는 특정 Python 버전에 따라 다릅니다. 활성화 후 Python 2 또는 3을 사용하는지 여부에 관계없이 평소대로 Python 패키지를 설치 하는 데 사용하십시오. Python 3 에는 사용할 필요가 없습니다. 설치에만 사용 되며와 함께 사용되지 않으므로 위에서 언급 한 보안 위험을 피하십시오. 그렇게하는 명령은 다음과 같습니다.aptapt-getpippip3sudovirtualenvpip

sudo apt update
sudo apt install virtualenv
cd ~/desired_directory  # cd to desired_directory
virtualenv venv  # create virtualenv named venv for default system Python, which is Python 2 for Ubuntu
source venv/bin/activate  # activate virtualenv
pip install -U pip  # upgrade pip in case it is outdated
pip install desired_package  # install desired_package

Python 3 용 virtualenv를 작성하려면 다음으로 바꾸십시오 virtualenv venv.

virtualenv venv -p python3

https://virtualenv.pypa.io/en/stable/virtualenv 에서 다양한 종과 휘파람에 대해 자세히 알아보십시오 .


1
source나에게 명령을 많이 절약 할 수
vnpnlz

OSError : [errno를 40] 심볼릭 링크가 너무 많은 수준 '의 / var / www / html / 파이썬 / / venv / 빈 / 파이썬 확인'
Saravanan Nandhan

@SaravananNandhan 대신 필요한 세부 사항을 가진 새로운 질문을하십시오.
edwinksl


3

venv 모듈 파이썬 3.3 (우분투 15.10)에서 사용할 수

가상 환경 (venvs)은 매우 인기가있어 이제 기능이 파이썬 자체 (3.3 이상)에 포함되었습니다. 설치해야 우분투를 사용 python3-venv합니다 (이후 ensurepip모듈을 사용할 수 없습니다)

sudo apt-get install python3-venv

그 후에는 사용할 수 있습니다

pyvenv myvirtualenv

라는 가상 환경을 만듭니다 myvirtualenv. 그런 다음 사용할 수 있습니다

source myvirtualenv/bin/activate

가상 환경을 활성화합니다. 단순히 입력을 비활성화하려면

deactivate

편집 :pyvenv 스크립트가 찬성 사용되지 않습니다 python3 -m venv. 이것은 파이썬 인터프리터 pyvenv가 연결되는 것과 가상 환경에서 파이썬 인터프리터가 사용되는 것에 대한 혼란을 방지 합니다. ( 소스 )

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.