Как установить библиотеку с github python windows

Обновлено: 02.07.2024

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

Где взять отсутствующий пакет?

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

Эту утилиту можно запускать как самостоятельно:

так и через интерпретатор Python :

Ключ -m означает, что мы хотим запустить модуль (в данном случае pip ). Более подробно о том, как использовать pip , вы сможете прочитать ниже.

Установка pip

При развертывании современной версии Python (начиная с P ython 2.7.9 и Python 3.4),
pip устанавливается автоматически. Но если, по какой-то причине, pip не установлен на вашем ПК, то сделать это можно вручную. Существует несколько способов.

Будем считать, что Python у вас уже установлен, теперь необходимо установить pip . Для того, чтобы это сделать, скачайте скрипт get-pip.py

и выполните его.

Способ для Linux

Если вы используете Linux , то для установки pip можно воспользоваться имеющимся в вашем дистрибутиве пакетным менеджером. Ниже будут перечислены команды для ряда Linux систем, запускающие установку pip (будем рассматривать только Python 3, т.к. Python 2 уже морально устарел, а его поддержка и развитие будут прекращены после 2020 года).

Fedora

Fedora 21 :

Fedora 22 :

openSUSE

Debian/Ubuntu

Arch Linux

Обновление pip

Если вы работаете с Linux , то для обновления pip запустите следующую команду.

Для Windows команда будет следующей:

Использование pip

Далее рассмотрим основные варианты использования pip : установка пакетов, удаление и обновление пакетов.

Установка пакета

Pip позволяет установить самую последнюю версию пакета, конкретную версию или воспользоваться логическим выражением, через которое можно определить, что вам, например, нужна версия не ниже указанной. Также есть поддержка установки пакетов из репозитория. Рассмотрим, как использовать эти варианты.

Установка последней версии пакета

Установка определенной версии

Установка пакета с версией не ниже 3.1

Установка Python пакета из git репозитория

Установка из альтернативного индекса

Установка пакета из локальной директории

Удаление пакета

Для того, чтобы удалить пакет воспользуйтесь командой

Обновление пакетов

Просмотр установленных пакетов

Для вывода списка всех установленных пакетов применяется команда pip list .

Если вы хотите получить более подробную информацию о конкретном пакете, то используйте аргумент show .

Поиск пакета в репозитории

Если вы не знаете точное название пакета, или хотите посмотреть на пакеты, содержащие конкретное слово, то вы можете это сделать, используя аргумент search .

Где ещё можно прочитать про работу с pip?

В сети довольно много информации по работе с данной утилитой.

P.S.

Модуль – это единственный файл с функциями и классами.

Пакет – это два и более модулей. В python файловая структура пакета выглядит так:

Библиотека – набор пакетов.

Фреймворк – набор библиотек.

Это скрипт на баше, который позволяет управлять версиями Python.

Проблема: в дистрибутивах Linux часто по-умолчанию установлена довольно старая версия интерпретатора. Ее замена может повляить на работоспособность системы. Если нужна специфическая версия Python, то ее можно поискать в репозиториях, либо собрать самому. Вместо команды python придется использовать python3.6, вместо pip – pip3 и т.д.

Перед началом установки следует установить все необходимые зависимости, следуя этой инструкции.

Проблема: при разработке может возникнуть конфликт версий библиотек, так как pip позволяет установить только одну версию библиотеки.

Как выглядит типичный процесс разработки:

При таком подходе возникает проблема: управление зависимостями для продакшена и разработки. Во время разработки используются, например, pylint и pytest. Эти модули не нужны в продакшене. pip freeze по-мимо самих библиотек сохраняет кучу зависимостей, что не позволяет убирать лишнее из requirements.txt вручную.

  1. Использовать pip-tools. pip-compile генерирует requirements.txt из requirements.in и setup.py. Т.е. в нем предлагается вручную прописывать зависимости. – очередное из серии %something% for Humans. Проблему в принципе решает. Аналог npm. Умеет создавать виртуальные окружения. Небольшой туториал pyenv+pipenv. . То же самое, что и pipenv только функционал по-богаче.

Чтобы загружать пакеты в PyPi нужно:

Создаем консольную утилиту на Python с помощью Poetry

Создадим новый проект:

Перейдем в каталог проекта:

Изменим файл pyproject.toml , добавив пару строк:

Проверим работу скрипта:

Это обычный консольный скрипт:

Перед публикацией проекта нужно зарегистрироваться на pypi , а после регистрации создать файл

/.pypirc с кредами:

Публикация проекта проста:

Загрузка проектов в pypi

Для начала нужно зарегистрироваться на портале. Это можно сделать через веб-сайт либо консоль.

После регистрации создаем файл

Расписывать процесс создания setup.py нет смысла, в виду того что с современными пакетными менеджерами типа Poetry, которые все это автоматизируют, в этом нет смысла. Для общего развития можно почитать инструкцию с официального сайта.

VSCode – это лучший текстовый редактор для программирования на Python. Он бесплатен и вместе с расширениями превращается в полноценную IDE.

Почитать это. А тут есть пример с gunicorn.

Доступно после установки расширения IntelliCode.

Настройки можно как для проекта задать, так и глобально. Форматирование будет работать по сочетанию Ctrl + Shift + I . Подробнее.

is проверяет ссылаются ли аргументы на один объект, а == — на одинаковое значение, поэтому

Порядок применения декораторов

The explanation that yield from g is equivalent to for v in g: yield v

Существует около трех часто используемых инструментов для установки сторонних библиотек Python:

Общий формат установочного пакета:

1. whl (рекомендуется, бинарный)
2、tar.gz
3、zip
4. Яйцо (первый распространенный формат упаковки)
напрямую изменить суффикс файлов whl и egg на zip, который можно распаковать как zip

setup.py

Setup.py часто используется для установки исходного кода. Поскольку официальный веб-сайт pypi загружает пакет очень медленно, некоторые люди предпочтут загрузить и установить его, а некоторые люди загрузят исходный код на GitHub для установки. Setup.py часто используется с последним.

Как правило, исходный код на GitHub - это в основном сжатые файлы, такие как zip, tar.gz, tar.zip, tar.bz2, и они часто поставляются со своими собственными файлами setup.py.

установка:

1. Загрузите zip и разархивируйте;
2. Откройте cmd и введите путь после распаковки;
3. Выполните последовательно следующие коды.

Команда выглядит следующим образом:

Путь, по которому хранится установочный пакет Windows: \ Lib \ site-packages в пути установки python.

Путь для Linux должен быть: /usr/lib/python2.7/site-packages. (Путь не обязательно, в зависимости от ситуации, некоторые могут находиться в / usr / local / lib)

Недостатки:

Но этот метод установки имеет очень большую проблему, то есть пакет, установленный с помощью этого метода, не может быть полностью удален с помощью pip uninstall.

Вам нужно вручную удалить его в каталоге /usr/bin/python2.7/site-package (где python - соответствующая версия Python). Для UNIX-подобных систем больше проблем для 64-битных машин состоит в том, что они разделены на lib и lib64 в каталоге / usr, и оба они будут в этих двух каталогах.

В Интернете есть способ удаления, но я пробовал его не очень эффективно:

Удалить

В общем, не рекомендуется использовать этот тип, на самом деле pip также может напрямую установить сжатый пакет, о чем мы поговорим позже.

easy_install

Фактически, установка сторонних модулей в Python выполняется с помощью инструмента setuptools. Easy_install и pip - это два инструмента управления пакетами, которые инкапсулируют инструменты установки.

Если мы хотим использовать easy_install, нам сначала понадобятся инструменты настройки. Конечно, текущая версия идет вместе с ним. Python 3.6 и более поздние версии немного отличаются, что будет обсуждаться позже.

Но все же могу упомянуть:

Но предпосылка whl заключается в использовании pip для установки, а иногда и pip, нам может потребоваться использовать easy_install для установки, мы не часто используем easy_install с pip, поэтому мы можем загружать только zip.

2. После загрузки разархивируйте, вы найдете внутри easy_install.py и setup.py, которые можно использовать напрямую.
Если это exe-файл, дважды щелкните файл ez_setup.py, чтобы установить его после установки, или выполните команду в cmd:

После установки easy_install его можно использовать для установки пакета, но рекомендуется добавить путь easy_install в переменную среды PATH, в противном случае вам нужно будет вводить путь каждый раз при установке пакета.

Путь easy_install в Windows: Каталог скриптов в Python 。
Путь к Linux должен быть: /usr/local/bin . (Путь не обязательно, это зависит от ситуации)

Как использовать easy_install, например, установить pip, просто добавьте имя пакета напрямую:

Удалить

Обновить

использовать

Установить tar.gz и zip с помощью pip проще всего, распаковывать не нужно, первые два тоже нужно распаковать.

Пакетная установка

Иногда вы обнаружите, что если вы хотите установить файл wheel при отсутствии сети, в прямом пипе будет ошибка. Есть способ, и он может быть пакетным, который заключается в использовании файла requirements.txt. Однако перед этим нам все еще нужно знать, что причина, по которой мы не можем установить файл wheel, заключается в том, что собственный питон не поддерживает загруженный файл whl.

1. Мы загрузим все пакеты, включая whl, tar.gz и т. Д.
2. Затем запишите версию пакета в файл requirements.txt и сложите их.
3. Вы можете выполнить команду напрямую или записать команду в сценарий.

Команда выглядит следующим образом:

Массовое удаление

Среди них -y означает, что не спрашивается, следует ли удалять во время удаления, что означает «да», который можно опустить, но он все равно добавляется в скрипт.

wheel

1. Формат наименования пакета колес

Первые два представляют имя и версию пакета соответственно.Трёхэлементные кортежи, выводимые из ранее просмотренной версии колеса, представляют - - .

  • python-tag - реализация Python, в основном разделенная на пять типов:

py-no расширение для конкретной реализации
cp-CPython, который является широко используемой реализацией Python.
ip-IronPython, реализация Python, работающая на платформе Windows CLI.
pp-PyPy, реализация Python с JIT
jy-Jython, реализация Python, работающая на JVM

Например, py2 и py3 в белом имени запроса представляют поддержку py2.x и py3.x соответственно. Если две существуют одновременно, это означает, что поддерживаются обе версии, разделенные знаком «.».

Честно говоря, я не совсем понимаю, что это такое, знаю только, что он делится на следующие категории:

with-pydebug (flag: d) - похоже, что он используется для отладки
with-pymalloc (flag: m) - специальный распределитель объектов
with-wide-unicode (flag: u) - включен по умолчанию
нет - нет различия

Если нет возможности определить тип abi при упаковке, сгенерированный тег abi будет отсутствовать. Если пакет Python представляет собой чистую реализацию Python, которая не полагается на конкретный abi, сгенерированный тег abi также не имеет значения.

Большая часть того, что мы загружаем, похоже на окончание mu, например cp27mu.

win32-Windows32 бит
win_amd64 —— 64-разрядная версия Windows.
linux_i386-Linux 32 бит
linux_x86_64 —— Linux64 бит
любой —— любой

grpcio

Конечно, это намного больше, чем я раньше притворялсяgrpcioЭту библиотеку я нашел на официальном сайте и нашел множество вещей, я не знал, какую из них скачать в то время, а затем я нашел команду для просмотра версии.

Как видите, на снимке экрана задействовано около восьми различных систем и версий. В соответствии с командой для проверки версии whl я обнаружил, что она поддерживает версию manylinux1_x86_84, потому что в то время я использовал centos7 , А установка это самая маленькая (Mini) форма, поэтому я скачал одну из многих linux1_x86_84.

2. Какие типы файлов wheel поддерживает среда Python?

Просмотреть версии ниже pip10:

Просмотреть версии выше pip10:

python whl

Вы можете увидеть картинку:

Как видите, это список кортежей из нескольких групп. Вам знакомы три элемента в нем? Давайте посмотрим на имя файла колеса, например запросы:

Конечно, последнее невозможно увидеть при выполнении на Python в Windows.

Источник загрузки внутреннего официального сайта pypi иногда медленный, мы можем указать источник

Домашние зеркала на данный момент имеют:

Адрес загрузки сторонней библиотеки

Различия в методах установки pip до и после python3.6

Существует большая разница между Python 3.6 и предыдущими версиями (включая 2.x и 3.x до 3.6). После установки каталог Scripts пуст, и возникает ошибка, когда мы хотим выполнить пакет обновления:

conda

Когда я познакомился с python через 16 лет, изучение поисковых роботов было почти прекращено из-за установки сторонних библиотек, особенно фреймворка Scrapy.Позже я обнаружил такую ​​хорошую вещь с Anaconda через некоторое время.

Anaconda - это интегрированная среда. Существует большое количество часто используемых сторонних библиотек и пакетов, связанных с научными вычислениями. Любой пакет легко установить. Я никогда не беспокоился о пакете. Внутри находится команда conda, которая похожа на pip, но не только pip и роль виртуальной среды. Команда аналогична, просто замените pip на conda.

Если вы хотите установить Anaconda для py2 и py3 вместе, просто установите один из них в другой уже установленный путь envs.

virtualenv

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

Jupyter Notebooks становятся стандартом де факто для программирования в области ИИ, машинного обучения и Data Science. Они также очень эффективны в обучении, используя принцип литературного программирования для сочетания в одном документе программного кода и его описания. В этой статье я опишу несколько способов запуска Jupyter Notebooks, как локально на вашем компьютере, так и в облаке.

Ранее, в статье про Azure Notebooks, я описывал как можно удобно запускать код онлайн и делиться кодом с помощью этого инструмента. К сожалению, этот сервис превратился в более профессиональное решение, но необходимость запускать Jupyter Notebooks осталась. Рассмотрим, как же можно запустить Jupyter Notebook.

Просто посмотреть

Если вы просто хотите посмотреть на код в ноутбуке, не запуская его - это очень просто! Если код расположен в репозитории GitHub - просто откройте файл .ipynb , и его содержимое будет показано прямо в браузере.

Можно также использовать nbviewer для просмотра ноутбуков. Для этого нужно будет ввести онлайн имя/репозиторий на GitHub, либо любую URL, доступную через интернет. Вот пример того, как выглядит репозиторий GitHub при открытии в nbviewer.

Ещё одной хорошей опцией будет использовать Visual Studio Code, в которой возможность просмотра ноутбуков встроена “из коробки”. Если Visual Studio Code не установлена - можно использовать онлайн-версию vscode.dev, или github.dev.

Запуск локально или в облаке

В большинстве случае вам захочется не только посмотреть, но и запустить Jupyter notebooks, изменить код и посмотреть, как он работает. В этом случае - читайте дальше!

  • Установить всё необходимое окружение у себя на компьютере
  • Использовать облачные сервисы

В первом случае у вас есть полный контроль над окружением, файлами и вычислительными ресурсами, но придётся потратить некоторое время на установку. Во втором случае, вы будете использовать чьи-то вычислительные ресурсы, и скорее всего количество бесплатных ресурсов, доступных вам, будет ограничено. Зато не потребуется установка ПО, и вы сможете начать работать за считанные минуты.

Локальная установка

Если вы работаете в области ИИ, машинного обучения или Data Science, у вас уже скорее всего установлена среда Python. Иметь Python на своём компьютере - это в любом случае хорошая идея, поскольку велика вероятность, что она вам рано или поздно понадобится.

Проще всего установить Python с помощью дистрибутива Miniconda. Хотя большинство обычно рекомендует ставить Anaconda, которая включает в себя большое количество библиотек, я всегда рекомендую начинать с “голой” установки Python, а все библиотеки устанавливать по мере необходимости. У Miniconda размер первоначального установщика всего 50 Mb, в противовес почти 500 Mb у Anaconda.

Установив Miniconda, будет необходимо установить Jupyter:

После установки, перейдите в папку с вашими ноутбуками, и запустите Jupyter:

Откроется окно браузера, и можно начинать работать!

Classical Jupyter Notebook

В некоторых репозиториях GitHub есть файл requirements.txt , содержащий сведения о необходимых для работы проекта библиотеках. В этом случае рекомендуется перед запуском ноутбука установить эти библиотеки командой

Возможно, вместо классического Jupyter, вы захотите установить JupyterLab, его более продвинутую версию.

Jupyter Lab

JupyterLab больше напоминает полноценную среду разработки, позволяя вам, помимо ноутбуков, редактировать скрипты Python, текстовые файлы и многое другое.

Используем Visual Studio Code

Jupyter Notebook in VS Code

Вот ещё немного документации по использованию Jupyter в VS Code.

Установка Python на ваш компьютер - хорошее решение в долгосрочной перспективе, но если вы хотите запустить ноутбук по-быстрому - имеет смысл использовать облачное окружение. Вам не придётся ничего устанавливать на свой компьютер, и вы сможете наслаждаться работой уже через несколько минут. Иногда имеет смысл использовать облачные окружения даже тогда, когда у вас есть Python - например, чтобы избежать конфликта библиотек и запустить ноутбук в “чистом” окружении.

MyBinder

Binder Welcome Screen

Binder попытается создать окружение, наилучшим образом подходящее для вашего проекта. Например, если в репозитории есть файл requirements.txt с описанием необходимых библиотек, они будут автоматически установлены. Более тонко можно настраивать конфигурацию с помощью файлов в директории binder - вплоть до описания Docker-контейнера, который необходимо собрать для запуска.

GitHub Codespaces

GitHub Codespaces - это новая встроенная в GitHub возможность открывать любой репозиторий в виртуализированном облачном окружении, доступном через среду VS Code в браузере или настольной версии. В настоящий момент Codespaces функционируют в режиме бета-тестирования, предоставляя индивидуальным пользователям некоторый объем бесплатных вычислительных ресурсов.

Codespaces Open Dialog

Datalore, CoCalc и др.

  • JetBrains Datalore предоставляет некоторый объем бесплатных вычислительных ресурсов (в настоящий момент - 120 часов в месяц), а также некоторое количество GPU. Вам придётся предварительно загрузить ваши ноутбуки в рабочую область Datalore.
  • CoCalc - это полноценное окружение для специалистов по Data Science, поддерживающее несколько популярных языков, таких как R, Julia и Sage, систему символьной компьютерной алгебры. Вы также можете запускать ограниченный набор GUI-приложений Linux и редактировать тексты в LaTeX. Я ранее писал про CoCalc в моей заметке про использование систем символьной алгебры для школьников.
  • Про Google Colab вы скорее всего и так уже знаете, поэтому я не буду здесь его подробно описывать.

Заключение

  • Установить Python-окружение на ваш компьютер, и использоват интерфейс Jupyter/JupyterLab в браузере, или Visual Studio Code
  • Запустить в облачной среде онлайн, используя Binder, или одну из описанных выше опций.

У обоих подходов есть свои позитивные и негативные стороны, и я надеюсь, что после прочтения этой заметки вы сможете легко выбрать для себя оптимальный способ запуска Jupyter Notebooks.

Читайте также: