- Python 3 — Урок 002. Настройка среды
- Получение Python
- Платформа Windows
- Платформа Linux
- Mac OS
- Настройка PATH
- Настройка PATH в Unix / Linux
- Настройка PATH в Windows
- Переменные среды Python
- Запуск Python
- Интерактивный интерпретатор
- Скрипт из командной строки
- Интегрированная среда разработки
- Переменные окружения для Python проектов
- Конфигурационные файлы
- Переменные окружения
- Библиотека python-dotenv
- Утилита direnv
- Создадим новую папку для проекта:
- Покажем, что переменная окружения FLASK_APP не загружена:
- Запишем переменные окружения в файл .envrc :
- Для обеспечения безопасности, после создания или изменения файла .envrc , нужно выполнить подтверждение с помощью команды direnv allow:
- Покажем, что переменная окружения загружена:
- При выхода из папки с проектом переменные окружения выгружаются
- и становятся снова не заданными
- Работа с виртуальным окружением в direnv
Python 3 — Урок 002. Настройка среды
Откройте окно терминала и введите «python», чтобы узнать, установлен ли он и какая версия установлена.
Получение Python
Платформа Windows
- Windows x86-64 embeddable zip file
- Windows x86-64 executable installer
- Windows x86-64 web-based installer
- Windows x86 embeddable zip file
- Windows x86 executable installer
- Windows x86 web-based installer
Примечание. Для установки Python 3.6.4 минимальными требованиями к ОС являются Windows 7 с пакетом обновления 1 (SP1). Для версий от 3.0 до 3.4.x Windows XP является приемлемым.
Платформа Linux
Различные варианты использования Linux используют разные менеджеры пакетов для установки новых пакетов.
На Ubuntu Linux Python 3 устанавливается с помощью следующей команды из терминала.
sudo apt-get install python3-minimalЗагрузите исходный tar-файл Gzipped с URL-адреса загрузки Python https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
Extract the tarball tar xvfz Python-3.5.1.tgz Configure and Install: cd Python-3.5.1 ./configure --prefix = /opt/python3.5.1 make sudo make installMac OS
Загрузите установщики Mac OS с этого URL-адреса https://www.python.org/downloads/mac-osx/
Дважды щелкните этот файл пакета и следуйте инструкциям мастера для установки.
Самый современный и текущий исходный код, двоичные файлы, документация, новости и т.д. Доступны на официальном сайте Python -
Python Official Website − https://www.python.org/
Вы можете загрузить документацию Python со следующего сайта. Документация доступна в форматах HTML, PDF и PostScript.
Python Documentation Website − www.python.org/doc/
Настройка PATH
Программы и другие исполняемые файлы могут быть во многих каталогах. Следовательно, операционные системы предоставляют путь поиска, в котором перечислены каталоги, которые он ищет для исполняемых файлов.
Важными особенностями являются:
- Путь хранится в переменной среды, которая является именованной строкой, поддерживаемой операционной системой. Эта переменная содержит информацию, доступную для командной оболочки и других программ.
- Переменная пути называется PATH в Unix или Path в Windows (Unix чувствительна к регистру, Windows - нет).
- В Mac OS установщик обрабатывает детали пути. Чтобы вызвать интерпретатор Python из любого конкретного каталога, вы должны добавить каталог Python на свой путь.
Настройка PATH в Unix / Linux
Чтобы добавить каталог Python в путь для определенного сеанса в Unix -
- В csh shell - введите setenv PATH "$ PATH:/usr/local/bin/python3" и нажмите Enter.
- В оболочке bash (Linux) - введите PYTHONPATH=/usr/local/bin/python3.4 и нажмите Enter.
- В оболочке sh или ksh - введите PATH = "$PATH:/usr/local/bin/python3" и нажмите Enter.
Примечание. /usr/local/bin/python3 - это путь к каталогу Python.
Настройка PATH в Windows
Чтобы добавить каталог Python в путь для определенного сеанса в Windows -
Примечание. C:\Python - это путь к каталогу Python.
Переменные среды Python
S.No. | Переменная и описание |
---|---|
1 | PYTHONPATH Он играет роль, подобную PATH. Эта переменная сообщает интерпретатору Python, где можно найти файлы модулей, импортированные в программу. Он должен включать каталог исходной библиотеки Python и каталоги, содержащие исходный код Python. PYTHONPATH иногда задается установщиком Python. |
2 | PYTHONSTARTUP Он содержит путь к файлу инициализации, содержащему исходный код Python. Он выполняется каждый раз, когда вы запускаете интерпретатор. Он называется как .pythonrc.py в Unix и содержит команды, которые загружают утилиты или изменяют PYTHONPATH. |
3 | PYTHONCASEOK Он используется в Windows, чтобы проинструктировать Python о поиске первого нечувствительного к регистру совпадения в инструкции импорта. Установите эту переменную на любое значение, чтобы ее активировать. |
4 | PYTHONHOME Это альтернативный путь поиска модуля. Он обычно встроен в каталоги PYTHONSTARTUP или PYTHONPATH, чтобы упростить библиотеку модулей коммутации. |
Запуск Python
Существует три разных способа запуска Python -
Интерактивный интерпретатор
Вы можете запустить Python из Unix, DOS или любой другой системы, которая предоставляет вам интерпретатор командной строки или окно оболочки.
Введите python в командной строке.
Начните кодирование сразу в интерактивном интерпретаторе.
$python # Unix/Linux or python% # Unix/Linux or C:>python # Windows/DOSВот список всех доступных параметров командной строки -
S.No. | Вариант и описание |
---|---|
1 | -d предоставлять отладочную информацию |
2 | -O генерировать оптимизированный байт-код (приводящий к .pyo-файлам) |
3 | -S не запускайте сайт импорта, чтобы искать пути Python при запуске |
4 | -v подробный вывод (подробная трассировка по операциям импорта) |
5 | -X отключить встроенные исключения на основе классов (просто используйте строки); устаревший, начиная с версии 1.6 |
6 | -c cmd запустить скрипт Python, отправленный в виде строки cmd |
7 | file запустить скрипт Python из заданного файла |
Скрипт из командной строки
Сценарий Python можно запустить в командной строке, вызвав интерпретатор в вашем приложении, как показано в следующем примере.
$python script.py # Unix/Linux or python% script.py # Unix/Linux or C:>python script.py # Windows/DOSПримечание. Убедитесь, что права файлов разрешают выполнение.
Интегрированная среда разработки
Вы можете запустить Python из среды графического интерфейса пользователя (GUI), если у вас есть приложение GUI в вашей системе, которое поддерживает Python.
Для разработки Python приложений рекомендую PyCharm от компании JetBrains, как наиболее развитую и удобную IDE.
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
Рекомендуемые статьи по этой тематике
По статье задано0 вопрос(ов)
Вам это нравится? Поделитесь в социальных сетях!
Переменные окружения для Python проектов
При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной системе контроля версий это очень плохая идея.
# Плохая практика. Не делай так. API_KEY = 'very_secret_password'
Конфигурационные файлы
Самый простой путь решения данной проблемы, это создание отдельного конфигурационного файла со всей чувствительной информацией и добавление его в .gitignore . Минус такого подхода в том, что в гит нужно держать ещё и шаблон конфигурационного файла и не забывать его периодически обновлять.
# Уже лучше. from config import API_KEY app = Flask(__name__) app.config['API_KEY'] = API_KEY
Переменные окружения
Более продвинутый подход, это использование переменных окружения. Переменные окружения это именованные переменные, содержащие текстовую информацию, которую могут использовать запускаемые программы. Например, чтобы запустить flask-приложение, вначале нужно указать в переменной окружения FLASK_APP имя нашего приложения:
$ export FLASK_APP=hello.py $ flask run * Running on http://127.0.0.1:5000/
С помощью переменных окружения можно получать различные параметры приложение и секретные ключи:
import os app.config['API_KEY'] = os.environ.get('API_KEY')
Библиотека python-dotenv
Чтобы не задавать каждый раз вручную переменные окружения при новом запуске терминала, можно воспользоваться пакетом python-dotenv. Он позволяет загружать переменные окружения из файла .env в корневом каталоге приложения.
Устанавливаем пакет:Теперь можно создать файл .env со всеми переменными среды, которые необходимы вашему приложению. Важно, добавьте .env -файл в .gitignore , не храните его в системе контроля версий.
import os from dotenv import load_dotenv dotenv_path = os.path.join(os.path.dirname(__file__), '.env') if os.path.exists(dotenv_path): load_dotenv(dotenv_path)
Этот .env-файл можно использовать для всех переменных конфигурации, но его нельзя использовать для переменных среды FLASK_APP и FLASK_DEBUG , так как они необходимы уже в процессе начальной загрузки приложения.
Утилита direnv
Переменные среды могут быть автоматически загружены при входе в папку с проектом, это особенно удобно при работе с несколькими проектами одновременно. Сделать это позволяет утилита direnv. Direnv — это менеджер переменных среды для терминала, поддерживает bash, zsh, tcsh и др. оболочки. Позволяет автоматически загружать и выгружать переменные среды в зависимости от вашего текущего каталога. Это позволяет иметь переменные среды, специфичные для каждого проекта. Перед каждым приглашением проверяется наличие файла .envrc в текущем и родительском каталогах. Если файл существует, он загружается в подшаблон bash, и все экспортированные переменные затем захватываются direnv, а затем становятся доступными для оболочки.
sudo apt-get install direnv
Далее необходимо внести изменения для настройки нашей оболочки, для bash необходимо в конец файла ~/.bashrc добавить следующее и перезапустить консоль:
Создадим новую папку для проекта:
$ mkdir ~/my-project $ cd ~/my-project
Покажем, что переменная окружения FLASK_APP не загружена:
Запишем переменные окружения в файл .envrc :
$ echo export FLASK_APP=hello.py > .envrc .envrc is not allowed
Для обеспечения безопасности, после создания или изменения файла .envrc , нужно выполнить подтверждение с помощью команды direnv allow:
$ direnv allow . direnv: reloading direnv: loading .envrc direnv export: +FLASK_APP
Покажем, что переменная окружения загружена:
При выхода из папки с проектом переменные окружения выгружаются
и становятся снова не заданными
Работа с виртуальным окружением в direnv
Кроме загрузки переменных окружения, утилита direnv позволяет также работать с виртуальным окружением для Python.
Виртуальное окружение позволяет использовать для отдельные проектов разные версии интерпретатора python и пакетов библиотек. Существует несколько способов создания виртуального окружения для python, здесь мы рассмотрим модуль venv, для другие варианты описаны в документации к direnv.Чтобы использовать venv для автоматического создания и активирования виртуального окружения, необходимо добавить в файл ~/.config/direnv/direnvrc следующий код (см. документацию).
Создание виртуального окружения
Если в файл .envrc добавить строчку
то при переходе в папку будет direnv создаст виртуальное окружение в папке direnv, например .direnv/python-venv-3.7.3 .
Чтобы создать виртуальное окружение с другим путем, например в более привычной папке venv, надо задать переменную VIRTUAL_ENV :Таким же способом можно подключать уже созданное виртуальное окружение.
Работа с разными версиями Python
Для установки отличной от системной версии python, нужно использовать команду:
layout python-venv python3.6
Создаем строку приглашения bash (PS1)
В отличие от ручной активации виртуального окружения, в нашем случае строка приглашения bash (PS1) не будет изменена (обычно она выглядит как (venv) user@comp:~$ ). Чтобы вернуть показ активации виртуального окружения в консоли нужно в файл ~/.bashrc добавить следующий код:
show_virtual_env() < if [[ -n "$VIRTUAL_ENV" && -n "$DIRENV_DIR" ]]; then echo "($(basename $VIRTUAL_ENV))" fi >export -f show_virtual_env PS1='$(show_virtual_env)'$PS1
Пример файла настройки файла .envrc
Вот так может выглядеть файл .envrc настроенный для разработки flask-приложения:
export VIRTUAL_ENV=venv layout python-venv export FLASK_APP=app.py export FLASK_DEBUG=1
Это позволяет автоматически активировать виртуальное окружение и загрузить переменные окружения при входе в папку с проектом.