Как настроить и использовать виртуальную среду python в Ubuntu?

62

Виртуальные среды Python используются для создания изолированных сред python, чтобы избежать конфликтов зависимостей и версий, а также косвенно заботиться о проблемах с разрешениями. Но какой самый простой способ настроить его и использовать в Ubuntu?

    
задан Gerhard Burger 18.01.2013 в 15:23
источник

4 ответа

91

С virtualenvwrapper (удобные для пользователя функции для% of %__%%)

Установить virtualenv

Установите virtualenv с помощью

sudo apt-get install virtualenv

(для Ubuntu 14.04 (trusty) install virtualenv )

Установить virtualenvwrapper

Причина, по которой мы также устанавливаем virtualenvwrapper , состоит в том, что она предлагает приятные и простые команды для управления вашей виртуальной средой. Существует два способа установить python-virtualenv :

Как пакет Ubuntu (от Ubuntu 16.04)

Run

sudo apt install virtualenvwrapper

затем запустите

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

Использование pip

  1. Установить и / или обновить пипс

    Установить pip для Python 2 с помощью

    sudo apt-get install python-pip
    

    или для Python 3

    sudo apt-get install python3-pip
    

    (если вы используете Python 3, вам может понадобиться использовать virtualenvwrapper вместо pip3 в остальной части этого руководства).

    Необязательно (но рекомендуется): Включить автозаполнение bash для pip

    Run

    pip completion --bash >> ~/.bashrc
    

    и запустите pip для включения.

  2. Установить virtualenvwrapper

    Поскольку мы хотим избежать source ~/.bashrc , мы устанавливаем sudo pip локально (по умолчанию в virtualenvwrapper ) с

    pip install --user virtualenvwrapper
    

    и

    echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
    
  3. Источник virtualenvwrapper в ~/.local

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

Настройка virtualenv и virtualenvwrapper:

Сначала мы экспортируем переменную .bashrc , которая содержит каталог, в котором должны храниться наши виртуальные среды. Давайте сделаем это WORKON_HOME

export WORKON_HOME=~/.virtualenvs

теперь также создайте этот каталог

mkdir $WORKON_HOME

и поместите этот экспорт в наш файл ~/.virtualenvs , чтобы эта переменная автоматически определялась

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

Мы также можем добавить дополнительные трюки , как показано ниже, что гарантирует, что если ~/.bashrc создает дополнительную виртуальную среду, она также помещается в наш каталог pip :

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

Источник ~ / .bashrc для загрузки изменений

source ~/.bashrc

Проверьте, работает ли он

Теперь мы создаем нашу первую виртуальную среду. Аргумент WORKON_HOME не является обязательным, он используется для установки версии Python; он также может быть -p , например.

mkvirtualenv -p python2.7 test

Вы увидите, что среда будет настроена, и ваше приглашение теперь включает в себя имя вашей активной среды в круглых скобках. Также, если вы сейчас запустите

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

вы должны увидеть много python3 , потому что теперь он не использует ваши системные сайты-пакеты.

Вы можете отключить среду, запустив

deactivate

, и если вы хотите снова работать над ним, просто введите

workon test

Наконец, если вы хотите удалить свою среду, введите

rmvirtualenv test

Наслаждайтесь!

Спасибо автору этой Блогпост .

    
ответ дан Gerhard Burger 18.01.2013 в 15:23
источник
8

Виртуальные среды предлагают способ управления и выделения зависимостей для каждого проекта. Более того, они также избегают всей ситуации sudo pip install , которая представляет собой риск безопасности, как я объяснил в Ссылка . Официальная документация Python также поощряет использование виртуальных сред .

Самый простой способ создать и использовать виртуальные среды для Python 2 и Python 3 - это установить virtualenv , используя apt или apt-get . Для каждого проекта Python создайте virtualenv, а затем активируйте его. Обратите внимание, что virtualenv специфичен для конкретной версии Python. После активации используйте pip для установки пакетов Python, как обычно, независимо от того, используете ли вы Python 2 или 3; нет необходимости использовать pip3 для Python 3. sudo используется только для установки virtualenv и не используется с pip , поэтому избегает вышеупомянутого риска безопасности. Команды для этого:

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

Если вы хотите создать virtualenv для Python 3, замените virtualenv venv на:

virtualenv venv -p python3

Подробнее о различных звонках и свистах для virtualenv на странице Ссылка .

    
ответ дан edwinksl 13.06.2016 в 23:57
4

Это легко, вы устанавливаете python-virtualenv . Затем вы можете создать virtualenv с помощью команды virtualenv . Подробнее см. их документацию .

    
ответ дан tumbleweed 18.01.2013 в 21:11
2

С модулем venv , доступным из Python 3.3 (и Ubuntu 15.10)

Виртуальные среды (venvs) настолько популярны, что функциональность теперь включена в сам python (начиная с 3.3). Чтобы использовать его на Ubuntu, вам нужно установить python3-venv (поскольку модуль ensurepip недоступен):

sudo apt-get install python3-venv

После этого вы можете использовать

pyvenv myvirtualenv

, чтобы создать виртуальную среду с именем myvirtualenv . Затем вы можете использовать

source myvirtualenv/bin/activate

для активации виртуальной среды. Чтобы отключить просто тип

deactivate

EDIT: Скрипт pyvenv устарел в пользу python3 -m venv . Это предотвращает путаницу в отношении того, к чему подключен интерпретатор Python pyvenv , и, таким образом, интерпретатор Python будет использоваться виртуальной средой. ( источник )

    
ответ дан Gerhard Burger 20.06.2016 в 20:21