Рубрики
Без рубрики

Кодирование Python на стероидах со средами Python

Если вы когда -либо поделились аккуратным компьютерным трюком, сложным приложением или что -то в этом роде с FR … Tagged с помощью Python, Learning, программирования, Codenewbie.

Если вы когда -либо поделились аккуратным компьютерным трюком, сложным приложением или что -то в этом роде с другом, то вы, вероятно, произнесли фразу: «Ну, это работает на моем компьютере». Независимо от того, насколько продвинутыми компьютерами, кажется, существуют повторяющиеся проблемы, связанные с различиями в том, что настраивали или установили любые две машины. Существуют постоянные попытки решить это, и для разработчиков Python один из лучших способов предотвратить его использование виртуальных сред.

Виртуальные среды в Python

Виртуальная среда является временной корректировкой к тому, как Python Запускает код. Виртуальная среда – это *не *a Виртуальная машина , и это не совсем контейнер Анкет Фактически, виртуальная среда манипулирует переменные среды вашей оболочки, чтобы вы могли выполнить одну известную версию Python, используя локальный набор модулей.

Жизнь без виртуальных средств

Без виртуальной среды, когда вы вводите Python или Python3 В ваш терминал вы запускаете любую версию Python, установленную на вашем компьютере:

**$ python --version
Python 2.7.17
$ python3 --version
Python 3.7**

On Monday, this might be version X, but on Tuesday, it could suddenly be Python Y, should you happen to update your computer overnight. Quite often, that's not a problem because Python tends to be good at backward compatibility. However, some computers retain very old versions of Python in the interest of legacy support, and some developers write on the cutting edge in their eagerness to use the newest features of the language. This can cause unexpected problems.

The same problem extends to individual Python modules. You might install version Z of the ExamplePyMod module, develop your code, and post your application online. Should someone who installed version X or Y of ExamplePyMod a year ago try to run your code, unexpected compatibility issues could arise. It's also a common problem for developers to take a module for granted. If you use a module so frequently that you practically think of that module as part of Python, then you're likely to forget to add the module as a requirement for running your application.

In both cases, for you to find the root cause of errors, you'd have to audit and update your system or the user's system so that you're both running the same versions of everything involved.

Использование виртуальных среда в Python

Виртуальная среда временно перенаправляет призывы к Python в определенную версию Python. Например, использование версии Python 3.7 для создания виртуальной среды гарантирует, что Python указывает на Python 3.7, а не Python 2.7 или Python 3.8 или Что бы вы ни находили, что вы можете лежать на своей машине разработки.

Например, вот виртуальная среда, созданная с Python 3.7:

***# no virtual environment*
$ python --version
Python 2.7.17

*# virtual environment*
$ python3.7 -m venv example37/venv
$ cd example37
$ source ./venv/bin/activate
(venv)$ python
Python 3.7
(venv)$ deactivate

*# no virtual environment*
$ python --version
Python 2.7.17**

Использование модулей в виртуальной среде

Модули установлены локально в виртуальной среде. Когда вы работаете в виртуальной среде, вы можете установить пример PESTORPYMOD и использовать его весь день, но он исчезнет, как только вы покинете виртуальную среду.

Вот процесс установки модуля:

***# no virtual environment*
$ python3
>>> import flask
ModuleNotFoundError: No module named 'flask'

*# virtual environment*
(venv)$ python -m pip install flask
[...]
(venv) bash-4.3$ python -m pip install flask
Collecting flask
  Downloading [...]
Successfully installed [...]
(venv)$ python
>>> from flask import Flask
>>> app = Flask(__name__)
(venv)$ deactivate

*# no virtual environment again*
$ python3
>>> import flask
ModuleNotFoundError: No module named 'flask'**

Восстановление виртуальной среды с помощью PIP

Для вас может показаться, что вам будет много дополнительной работы, чтобы установить и переустановить необходимые модули каждый раз, когда вы садитесь, чтобы взломать код. На самом деле, система виртуальной среды побуждает вас отслеживать модули, которые вы используете в a Требования.txt Файл в вашем каталоге проекта. Вы можете обработать Требования.txt с пип Для обработки автоматизированных установок всех зависимостей:

**$ cd myproject
$ source ./venv/bin/activate
(venv)$ python -m pip install -r requirements.txt
Installed [...]
$ python
>>> from flask import Flask
>>> import examplepymod**

Python также кэширует требуемые модули, поэтому вы в кратчайшие сроки.

Для полного обзора пип и его способности скачать Моше Закка PIP CheatSheet Анкет

Обзор виртуальной среды

Команда создать виртуальную среду на Python:

***$ *python -m venv /directory/venv**

Чтобы активировать виртуальную среду:

**$ source ./venv/bin/activate
(venv)$**

Для установки требуемых модулей:

**(venv)$ python -m pip install -r requirements.txt**

Деактивировать виртуальную среду:

**(venv)$ deactivate**

Виртуальные среды являются важной частью процесса разработки Python. Научитесь использовать их, чтобы защитить себя и своих пользователей от неожиданных и нежелательных сюрпризов. Короче говоря, используйте виртуальные среды, чтобы вы могли потратить больше времени на кодирование и меньшее время отладки!

Если вы хотите узнать больше о Python:

Лучшие книги для программирования Python

Изучение программирования Python с нуля

Источник: https://opensource.com/article/20/10/venv-python

Другие посты разработчиков:

  • Разработка игры: создайте свой собственный 2D -платформер с Python до 39 минут

  • 12 инструментов Успешные инженеры DevOps используют сегодня для наиболее эффективной работы

  • Узнайте ведущие структуры и алгоритмы данных каждого студента компьютерных наук должен знать

Оригинал: “https://dev.to/courseprobe/python-coding-on-steroids-with-python-environments-4kdp”