Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Большие данные и машинне обучение (v2) - лекция...

Anton
December 10, 2024

Большие данные и машинне обучение (v2) - лекция-2: платформа Python

Лекция курса "Большие данные и машинное обучение" (v2.0-МОТ)
Лекция-2: платформа Python
- Платформа Python: выбор версии
- Нативные модули Python wheels
- Репозитории пакетов: pypi.org
- Платформозависимые пакеты Python
- Именование установочных модулей
- Установка пакетов: Python package installer pip, easy_install, Anaconda conda
- Среда разработки: редактор текста с подсветкой + консоль

Большие данные и машинное обучение, лекция-3: табличные данные в Python, библиотека Pandas
https://www.youtube.com/watch?v=GXbBDaKCiD8 (первая половина)

Anton

December 10, 2024
Tweet

More Decks by Anton

Other Decks in Education

Transcript

  1. Платформа Python: выбор версии • 2.7 не поддерживается (с 2020),

    хотя многие статьи написаны для нее • В ветке 3.x поломали обратную совместимость с 2.7, хотя во многом сохранили сходство • Популярные библиотеки, которые будем использовать, портированы на 3.x • В ветках 3.x ломают обратную совместимость не только с 2.7, но и между собой (обычно это библиотеки, имеющие нативные модули «whl»): может так получиться, что нужная вам библиотека не поддерживает нужную версию платформы, хуже — если такая история с двумя библиотеками, будьте готовы скакать между версиями • Выбираем версию Python 3.9 (самую новую на начало 2021) и будем ориентироваться на нее по умолчанию кроме случаев, если на ней не запустится необходимая нам библиотека.
  2. Нативные модули: Python Wheels • Python Wheels, «колеса» пайтона —

    «нативные» модули библиотек • Части библиотек, написанные не на Python, а, например, на C или C++ • Файлы с расширением «whl» • Для каждой операционной системы и архитектуры процессора должна быть собрана своя версия файла WHL • Отдельный файл WHL должен быть также собран для каждой версии Python 3.x
  3. Нативные модули: Python Wheels • Если библиотека содержит нативный код

    в WHL и этого файла WHL нет для вашей платформы (ОС/процессор/Python), то библиотека не установится и не заработает у вас • Главный источник поломанной совместимости (почему для некоторых библиотек потребуется Python определенной версии) • Раньше (года 3 назад) файлы WHL для некоторых популярных библиотек приходилось качать со сторонних ресурсов или собирать самостоятельно, • Сейчас всё необходимое есть в репозитории pypi.org и устанавливается автоматически
  4. Репозиторий пакетов pypi.org • Репозиторий пакетов онлайн: pypi.org • Python

    package index • Можно найти любую библиотеку онлайн, скачать модули, проверить доступность версий для вашей версии Пайтона и т.п.
  5. Платформа закодирована в имени *.WHL • -cp39-: common python 3.9

    • -cp38-: common python 3.8 • -win32-: Windows 32 бит • -win_amd64-: Windows 64 бит • -manylinux1_i686-: разные версии GNU/Linux 32 бит • -manylinux1_x86_64-: разные версии GNU/Linux 64 бит • -macosx_xxx-: MacOS • и т.п.
  6. Еще например • TensorFlow-2.4.1 нет для Python 3.9 - (последняя

    верси на текущий момент: февраль 2021) - (к концу семестра, может, выйдет) • TensorFlow-1.15.1 есть только для Python 3.6 и Python 3.7 и всё - (историческая версия, последняя до того, как они поломали старый синтаксис в 2.x) - (и для других Пайтонов больше не выйдет никогда)
  7. Установка пакетов: pip github.com/pypa/pip • pip — Python package installer

    • Качает и устанавливает пакеты из репозитория pypi.org • Проверяет доступность пакета для вашей платформы и автоматически устанавливает зависимости • Посмотреть информацию об установленных пакетах • Может установить пакет определенной версии • и т. п.
  8. Установка пакетов: pip Варианты запуска: pip install package_name • От

    имени администратора (установить пакет глобально) sudo pip install package_name • Для установки пакета в каталог текущего пользователя pip install --user package_name • Для Python 3 на системах с Python 2.x (legacy) pip3 install package_name • Через python python -m pip install package_name • На системах с несколькими версиями платформы Python python3.x -m pip install package_name
  9. Платформа Python: разные версии • В системе может быть установлено

    несколько версий Python • Они будут работать параллельно нормально • Но, главное, вы сами не запутайтесь в них ] ls /usr/local/lib/ python2.7 python3.5 python3.7 python3.8 python3.9 ] ls ~/.local/lib/ python2.7 python3.5 python3.7 python3.8 python3.9 • Каталог с пакетами: ~/.local/lib/python3.9/site-packages
  10. Установка пакетов: easy_install • Судя по всему, легаси • Но

    иногда полезен • Например, для установки pip • Или для обновления pip, если сам pip поломался
  11. Установка пакетов: Anaconda www.anaconda.com/distribution/ • Дистрибутив Python со своим онлайн-репозиторием

    и дополнительными инструментами • Онлайн-репозиторий пакетов: anaconda.org/anaconda/repo • Установка пакетов: conda вместо pip conda install package_name • Не все пакеты, которые есть в конде, есть в pypi и, возможно, наоборот
  12. Среда разработки • Jupiter Notebook — удобная штука, особенно для

    работы с таблицами • cloud.google.com/python/ • и т. п. (много их разных) • Наш выбор: текстовый редактор с автоматическими отступами и подсветкой синтаксиса + консоль
  13. Дальше: Python + NumPy + Pandas + CSV: «эксель» без

    мышки (работа с табличными данными)