важность настройки виртуальной среды для django с python

python django virtualenv

1605 просмотра

3 ответа

Я очень новичок в процессе разработки веб-приложения с django, и я столкнулся с этой настройкой и использованием виртуальной среды для python. Итак, я приземлился с некоторыми основными вопросами.

  1. Что именно означает эта виртуальная среда?

  2. Имеет ли это какое-то значение при разработке веб-приложения с использованием модулей django и python.

  3. Должен ли я беспокоиться о настройке виртуальной среды каждый раз в процессе разработки.

Автор: Lohith Источник Размещён: 08.11.2019 11:29

Ответы (3)


6 плюса

Решение
  1. Виртуальная среда - это способ для вас иметь несколько версий python на вашем компьютере без их столкновения друг с другом, каждую версию можно рассматривать как среду разработки, и вы можете иметь разные версии библиотек и модулей python, все изолированные друг от друга
  2. Да, это очень важно. Например, без virtualenv, если вы работаете над проектом с открытым исходным кодом, который используется, django 1.5но локально на вашем компьютере, вы установили django 1.9другие персональные проекты. Вы почти не можете внести свой вклад, потому что вы получите много ошибок из-за разницы в djangoверсиях. Если вы решите перейти на более раннюю версию, django 1.5вы больше не сможете работать над своими личными проектами, потому что они зависят от вас django 1.9.

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

  3. Вы не обязаны, но вы должны, это так же просто, как:

    virtualenv newenv

    cd newenv

    source bin/activate # This current shell is now uses the virtual environment

    Более того, это очень важно для тестирования, скажем, вы хотите портировать веб-приложение django с 1.5 до 1.9, вы можете легко сделать это, создав различные virtualenv и установив разные версии django. это невозможно сделать, не удалив одну версию (за исключением того, что вы хотите возиться с sys.pathне очень хорошей идеей)

Автор: danidee Размещён: 20.08.2016 03:36

2 плюса

Хотя я не могу напрямую описать опыт работы с Django и виртуальными средами, я подозреваю, что он довольно похож на то, как я использовал Flask и virtualenv.

  1. Виртуальная среда делает именно то, что говорит - где для вас настроено окружение для разработки вашего приложения (включая веб-приложение), которое не влияет на библиотеки, которые вы запускаете на своем компьютере. Это создает чистый лист, так сказать, только с основными модулями Python. Вы можете использовать pip для установки новых модулей и зафиксировать их в файле require.txt, чтобы любой пользователь (включая вас) мог видеть, какие внешние библиотеки необходимы.
  2. Это имеет большое значение из-за способности отслеживать внешние библиотеки. Например, я программирую между двумя машинами, и для каждой машины настроена виртуальная среда. Файл needs.txt позволяет мне устанавливать только те библиотеки, которые мне нужны, с точными версиями этих библиотек. Это гарантирует, что когда я буду готов к развертыванию на рабочей машине, я знаю, какие библиотеки мне нужны. Это предотвращает влияние любых модулей, которые я установил вне виртуальной среды, на программу, которую я запускаю в виртуальной среде.
  3. И да и нет. Я думаю, что по указанным выше причинам рекомендуется использовать виртуальную среду и поддерживать свои проекты в чистоте. Не говоря уже о том, что настроить виртуальную среду и поддерживать ее не сложно. Если вы просто запускаете небольшой скрипт для проверки алгоритма или подхода, вам может не потребоваться виртуальная среда. Но я все равно рекомендовал бы сделать это, чтобы ваши среды выполнения были чистыми и хорошо управляемыми.
Автор: qwertyuip9 Размещён: 20.08.2016 03:35

1 плюс

  1. Проще говоря, виртуальная среда предоставляет среду разработки, независимую от операционной системы хоста. Вы можете установить и использовать необходимое программное обеспечение в папке / bin виртуальной машины virtualenv вместо того, чтобы использовать программное обеспечение, установленное на главном компьютере.

  2. Разработка Python обычно зависит от различных библиотек и зависимостей. Например, если вы устанавливаете последнюю версию pip с использованием sudo pip install django, программное обеспечение django определенной версии будет доступно для всей системы. Теперь, если вам нужно использовать django другой версии для проекта, вы можете просто создать virtaulenv, установить в него эту версию django и использовать, не беспокоясь о версии django, установленной в os.

  3. Да, настоятельно рекомендуется настроить отдельные virtualenv для каждого проекта. Когда вы привыкнете к этому, он будет казаться довольно тривиальным и очень полезным для разработки, устраняя многие будущие головные боли.
Автор: rajarshig Размещён: 20.08.2016 03:36
Вопросы из категории :
32x32