Использование виртуальных сред с Python
Если вы работаете над несколькими проектами на языке Python, то вам быстро понадобится иметь разные версии пакетов в зависимости от текущего проекта.
Для этого предназначены виртуальные среды, которые позволяют изолировать библиотеки между проектами. Существуют различные библиотеки, которые вы можете использовать, я покажу вам Venv и Pipenv.
Venv
Venv - это встроенный модуль для создания виртуальных сред в Python 3.
Сначала создадим простой скрипт, которому нужны два пакета:
import requests
import numpy
if __name__ == "__main__":
# Use the requests library
request = requests.get("https://httpbin.org/get")
print("Response : ")
print(request.text)
# Use the numpy library
print("Numpy version : " + numpy.__version__)
Создайте файл "requirements.txt
":
requests>=2.25.1
numpy>=1.19.5
Затем можно воспользоваться следующими командами (не забудьте добавить "venv" в файл .gitignore
):
# Create the venv
python -m venv venv
# Activate the venv
source venv/bin/activate
# Install the requirements
pip install -r requirements.txt
# Deactivate the venv
deactivate
Pipenv
Pipenv - это инструмент более высокого уровня, объединяющий управление пакетами и виртуальными средами с помощью Pipfile.
Сначала установите Pipenv:
brew install pipenv
Создайте файл "Pipfile", созданный для скрипта, над которым мы работаем:
(его также можно создать с помощью команды pipenv install
)
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
requests = ">=2.25.1"
numpy = ">=1.19.5"
[dev-packages]
Затем можно использовать следующие команды:
# Inititiate the Pipfile (or install all packages)
pipenv install
# You can install packages (or edit Pipfile directly)
pipenv install requests
pipenv install numpy
# Activate/Deactivate the venv
pipenv shell # and Ctrl + D to quit
# Alternatively, run a command inside the virtualenv
pipenv run python
# Uninstall the venv
pipenv --rm
Оба являются хорошими решениями для виртуальных сред, Venv встроен и легче в написании, а Pipenv быстрее и предоставляет больше возможностей, так что выбирайте то, что лучше подходит именно вам.
Вас также может заинтересовать Pyenv, дополнительный инструмент, предназначенный для управления различными версиями Python на вашем компьютере.