Топ

Как вручную установить пакет в Python

Большинство пакетов в Python сейчас спроектированы так, чтобы быть совместимыми с менеджером пакетов pip. Но что если у вас есть пакеты, несовместимые с pip, и вам нужно установить пакет вручную? Сегодня мы разберем, как это делается.

Примечание редакции Pythonist: об установке пакетов через менеджер читайте в статье «Установка пакетов Python при помощи PIP».

Предварительные шаги:

  1. Загрузите пакет и извлеките его в локальный каталог.
  2. Если пакет включает в себя собственный набор инструкций по установке, следуйте им. В противном случае наиболее распространенным методом ручной установки пакета является реализация setup.py.

Установка пакетов Python с помощью setup.py

Чтобы установить пакет, содержащий файл setup.py, откройте командную строку или окно терминала и сделайте следующее:

  1. С помощью команды cd переместитесь в каталог, где находится файл setup.py
  2. Введите следующую команду: python setup.py install

Среда сборки setup.py

Пакеты, устанавливаемые при помощи setup.py, имеют требования относительно среды сборки, которые разработчики должны учитывать. Но некоторые требования опциональны.

Примеры

С помощью следующей команды проверьте, что у вас установлена ​​актуальная версия setuptools:

python -m pip install --upgrade setuptools

Включите именованные аргументы install_requires в setup.py. Отметим, что install_requires — это ключевое слово setuptools, используемое для указания минимальных требований к пакету. Например, это может выглядеть следующим образом:

install_requires=['<packagename>'],  # опциональное ключевое слово

Полные требования к сборке пакета для установки на основе setup.py изложены PyPA (Python Packaging Authority) в «Sample Project».

Sample Project

Sample Project — это пакет-шаблон с файлом setup.py для ручной установки пакета. Файл снабжен аннотациями, касающимися настройки скрипта и среды сборки пакета в целом. Sample Project можно найти на GitHub.

Основан Sample project на пакете setuptools. setup.py — это скрипт сборки для пакетов, созданных с помощью setuptools.

Пример setup.py (без аннотаций):

import setuptools

with open("README.md", "r") as fh:

    long_description = fh.read()

setuptools.setup(

    name="<template-package-username>", # Replace with your username

    version="1.0.0",

    author="<authorname>",

    author_email="<authorname@templatepackage.com>",

    description="<Template Setup.py package>",

    long_description=long_description,

    long_description_content_type="text/markdown",

    url="<https://github.com/authorname/templatepackage>",

    packages=setuptools.find_packages(),

    classifiers=[

        "Programming Language :: Python :: 3",

        "License :: OSI Approved :: MIT License",

        "Operating System :: OS Independent",

    ],

    python_requires='>=3.6',

)

Заключение

Итак, сегодня мы разобрали, как вручную установить пакеты в Python. А именно — как это сделать с помощью setup.py. 

Надеемся, данная статья была вам полезна! Успехов в написании кода!

Перевод статьи «How To Manually Install Python Packages».

sofi-sk@inbox.ru

Recent Posts

10 удалённых Python-вакансий

Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…

6 месяцев ago

Где искать Python-вакансии в 2026 году: зачем на Talanto.work появился отдельный сценарий поиска

Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…

6 месяцев ago

Срезы в Python со всеми подробностями

Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…

8 месяцев ago

Возведение в степень в Python: полное руководство

В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…

9 месяцев ago

Как удалить дубликаты из списка Python?

Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…

9 месяцев ago

Виртуальный (shared) хостинг от SpaceWeb: технический обзор

Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…

11 месяцев ago