Виртуальные среды Python используются для создания изолированных сред python, чтобы избежать конфликтов зависимостей и версий, а также косвенно заботиться о проблемах с разрешениями. Но какой самый простой способ настроить его и использовать в Ubuntu?
Виртуальные среды предлагают способ управления и выделения зависимостей для каждого проекта. Более того, они также избегают всей ситуации 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://askubuntu.com/a/802594/15003 .
Это легко, вы устанавливаете python-virtualenv. Затем вы можете создать virtualenv с помощью команды virtualenv. Подробнее см. Их документацию.
Виртуальные среды (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 будет использоваться виртуальной средой. (Источник)