Виртуальные среды Python используются для создания изолированных сред Python, чтобы избежать конфликтов зависимостей и версий, а также косвенно решать проблемы с разрешениями. Но как проще всего настроить и использовать его в Ubuntu?
источник
Виртуальные среды Python используются для создания изолированных сред Python, чтобы избежать конфликтов зависимостей и версий, а также косвенно решать проблемы с разрешениями. Но как проще всего настроить и использовать его в Ubuntu?
virtualenvwrapper
(удобные обертки для функциональности virtualenv
)Установить virtualenv
с
sudo apt-get install virtualenv
(для Ubuntu 14.04 (надежная) установка python-virtualenv
)
Причина, по которой мы также устанавливаем virtualenvwrapper, заключается в том, что он предлагает удобные и простые команды для управления виртуальными средами. Есть два способа установки virtualenvwrapper
:
Бегать
sudo apt install virtualenvwrapper
тогда беги
echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc
Установить и / или обновить пип
Установите pip для Python 2 с
sudo apt-get install python-pip
или для Python 3
sudo apt-get install python3-pip
(если вы используете Python 3, вам может потребоваться использовать его pip3
вместо pip
остальной части этого руководства).
Необязательно (но рекомендуется): включите автозаполнение bash для 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
Наслаждайтесь!
Спасибо автору этого поста .
python-pip
иpython-virtualenv
устанавливаются через репозиторий Ubuntu, нет необходимости в ручной установке.--no-site-packages
по умолчанию и--distribute
устарелmkvirtualenv test
не работает, см. Также: stackoverflow.com/questions/15608236/…Виртуальные среды предлагают способ управления и изоляции зависимостей для каждого проекта. Кроме того, они также избегают всей
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
, поэтому избежать вышеупомянутой угрозы безопасности. Команды для этого:Если вы хотите создать virtualenv для Python 3, замените
virtualenv venv
на:Узнайте больше о различных наворотах
virtualenv
на https://virtualenv.pypa.io/en/stable/ .источник
source
спасает меня много командЭто просто, вы устанавливаете python-virtualenv . Затем вы можете создать virtualenv с помощью
virtualenv
команды. Смотрите их документацию для получения дополнительной информации.источник
С модулем venv, доступным в Python 3.3 (и Ubuntu 15.10)
Виртуальные среды (venvs) настолько популярны, что функциональность теперь включена в сам Python (начиная с версии 3.3). Чтобы использовать его в Ubuntu, вам необходимо установить
python3-venv
(так какensurepip
модуль недоступен):После этого вы можете использовать
создать виртуальную среду под названием
myvirtualenv
. Вы можете использоватьактивировать виртуальную среду. Для деактивации просто наберите
EDIT:
pyvenv
сценарий устарел в пользуpython3 -m venv
. Это предотвращает путаницу в отношении того, к чемуpyvenv
подключен интерпретатор Python и, следовательно, какой интерпретатор Python будет использоваться виртуальной средой. ( источник )источник