Виртуальные среды Python используются для создания изолированных сред Python, чтобы избежать зависимости и конфликтов версий, а также косвенно заботиться о проблемах с разрешениями. Но как проще всего настроить и использовать его в Ubuntu?
virtualenvwrapper
(удобные для пользователя обертки для функциональности virtualenv
)Установка virtualenv
с
sudo apt install virtualenv
Причина мы также устанавливаем virtualenvwrapper, состоит в том, потому что это предлагает хорошие и простые команды для управления виртуальными средами. Существует два способа установить virtualenvwrapper
:
Выполненный
sudo apt install virtualenvwrapper
затем выполненный
echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc
Установка и/или зернышко обновления
Зернышко установки для Python 2 с
sudo apt install python-pip
или для Python 3
sudo apt install python3-pip
(при использовании Python 3 Вы, возможно, должны использовать pip3
вместо pip
в остальной части этого руководства).
Дополнительный (но рекомендуемый): Включите автоматическое заполнение удара для зернышка
Выполненный
pip completion --bash >> ~/.bashrc
и выполненный source ~/.bashrc
включить.
Установка virtualenvwrapper
Поскольку мы хотим избежать sudo pip
мы устанавливаем virtualenvwrapper
локально (по умолчанию под ~/.local
) с:
pip install --user virtualenvwrapper
и
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
Источник virtualenvwrapper в .bashrc
echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrc
Сначала мы экспортируем 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
аргумент является дополнительным, он используется для установки версии Python для использования; это может также быть python3
например.
mkvirtualenv -p python2.7 test
Вы будете видеть, что среда будет настроена, и Ваша подсказка теперь включает название Вашей активной среды в круглых скобках. Также, если Вы теперь работаете
python -c "import sys; print sys.path"
необходимо видеть много из /home/user/.virtualenv/...
потому что это теперь не использует Ваши системные пакеты сайта.
Можно деактивировать среду путем выполнения
deactivate
и если Вы хотите работать над ним снова, просто введите
workon test
Наконец, если Вы хотите удалить свою среду, ввести
rmvirtualenv test
Приятного отдыха!
Благодаря автору этого сообщения в блоге.
Виртуальные среды предлагают способ управления и изоляции зависимостей для каждого проекта. Более того, они также избегают всей ситуации sudo pip install
, которая представляет угрозу безопасности, как я объяснил в https://askubuntu.com/a/802594/15003 . Официальная документация 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
на https://virtualenv.pypa.io/en/stable/ .
Виртуальные среды (venvs) настолько популярны, что функциональность теперь включена в сам Python (начиная с 3.3 и далее) , Чтобы использовать его в Ubuntu, вам нужно установить python3-venv
(поскольку модуль ensurepip
недоступен):
sudo apt-get install python3-venv
После этого вы можете использовать
pyvenv myvirtualenv
для создания Виртуальная среда называется myvirtualenv
. Затем вы можете использовать
source myvirtualenv/bin/activate
для активации виртуальной среды. Для деактивации просто введите
deactivate
РЕДАКТИРОВАТЬ: Сценарий pyvenv
устарел в пользу python3 -m venv
. Это предотвращает путаницу относительно того, с чем связан интерпретатор Python pyvenv
и, следовательно, с каким интерпретатором Python будет использоваться виртуальная среда. ( Источник )
Это просто, вы устанавливаете python-virtualenv . Затем вы можете создать virtualenv с помощью команды virtualenv
. См. их документацию для получения дополнительной информации.