Перейти к содержимому

Как зайти в библиотеки на пайтоне

  • автор:

Как установить библиотеку в Python: руководство для новичка

Знания расширяют сознание, а библиотеки — возможности языков программирования. Расскажем, как подключить их в Python.

Наталья Березовская

Наталья Березовская

Автор в сфере IT, digital, экономики и финансов. Ведёт некоммерческий проект для начинающих писателей «ЛитЦех».

Мы уже рассказывали, как установить Python на различные операционные системы. Если хотите расширить возможности языка, используйте менеджер пакетов — именно с ним подключают библиотеки и модули. А если стоит вопрос, как научиться программировать на Python и получить работу, записывайтесь на курс «Python-разработчик».

Ручная установка

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

1. Установите setuptools

Для этого скачайте файл с PyPI и извлеките его в системе.

2. Откройте сессию терминала

Поменяйте каталог на папку с файлом setup.

3. Запустите команду:

И автоматически установите любой необходимый пакет. Однако есть ограничения:

  • Он может попробовать запустить пакет, который еще не загрузился до конца.
  • С помощью easy install нельзя провести деинсталляцию.

Из-за этих и других причин в сообществе языка Python придумали и реализовали программу pip.

Установка pip

Она появилась в Python 3.4 и скачивается вместе с самим языком, но если у вас более ранняя версия, то установите pip вручную:

  • Зайдите в PyPI и скачайте скриптget-pip.py.
  • Затем выполните команду:
python get-pip.py

Установятся setuptools, если ранее его не было на компьютере, и сам pip. С его помощью подключают любые библиотеки и файлы — всё, что только может установить easy install. Но теперь для этого будет использоваться иная команда:

pip install package_name

А для обновления пакета применяйте:

Где хранятся модули в Python?

Python_Deep_6.11-5020-3e1392.png

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

Модуль в Python — это файл, в котором содержится код на Python. Любой модуль в Python может включать в себя переменные, объявления функций и классов. Вдобавок ко всемe, в модуле может содержаться исполняемый код.

Команда import в Python

Позволяет использовать любой файл Python в качестве модуля в другом файле. Синтаксис прост:

 
import module_1[, module_2[. module_N]

Как только Python-интерпретатор встречает команду import, он выполняет импорт модуля, если он есть в пути поиска Python. Что касается пути поиска Python, то речь идёт о списке директорий, в которых интерпретатор выполняет поиск перед загрузкой модуля. Посмотрите на пример кода при использовании модуля math:

 
import math # Используем функцию sqrt из модуля math print (math.sqrt(9)) # Печатаем значение переменной pi, определенной в math print (math.pi)

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

Команда from . import

Команда from . import даёт возможность выполнить импорт не всего модуля целиком, а лишь конкретного его содержимого:

 
# Импортируем из модуля math функцию sqrt from math import sqrt # Выводим результат выполнения функции sqrt. # Нам больше незачем указывать имя модуля print (sqrt(144)) # Но мы уже не можем получить из модуля то, что не импортировали print (pi) # Выдаст ошибку

Обратите внимание, что выражение from . import не импортирует модуль полностью, а лишь предоставляет доступ к объектам, указанным нами.

Команда from . import *

Также в Python мы можем импортировать из модуля переменные, классы и функции за один раз. Чтобы это выполнить, применяется конструкция from . import *:

 
from math import * # Теперь у нас есть доступ ко всем функция и переменным, определенным в модуле math print (sqrt(121)) print (pi) print (e)

Использовать данную конструкцию нужно осторожно, ведь при импорте нескольких модулей можно запутаться в собственном коде.

Так где хранятся модули в Python?

При импорте модуля, интерпретатор Python пытается найти модуль в следующих местах: 1. Директория, где находится файл, в котором вызывается команда импорта. 2. Директория, определённая в консольной переменной PYTHONPATH (если модуль не найден с первого раза). 3. Путь, заданный по умолчанию (если модуль не найден в предыдущих двух случаях).

Что касается пути поиска, то он сохраняется в переменной path в системном модуле sys. А переменная sys.path включает в себя все 3 вышеописанных места поиска.

2-20219-5cca3e.png

Получаем список всех модулей Python

Чтобы получить полный список модулей, установленных на ПК, используют команду help("modules") .

3-20219-a2b765.png

Создаём свой модуль в Python

Для создания собственного модуля в Python нужно сохранить ваш скрипт с расширением .py. После этого он станет доступным в любом другом файле. Давайте создадим 2 файла: module_1.py и module_2.py, а потом сохраним их в одной директории. В первом файле запишем:

 
def hello(): print ("Hello from module_1")

А во втором вызовем функцию:

 
from module_1 import hello hello()

После выполнения кода 2-го файла получим:

 
Hello from module_1

Функция dir() в Python

Возвратит отсортированный список строк с содержанием всех имён, определенных в модуле.

 
# на данный момент нам доступны лишь встроенные функции dir() # импортируем модуль math import math # теперь модуль math в списке доступных имен dir() # получим имена, определенные в модуле math dir(math)

4-20219-710929.png

Пакеты модулей в Python

Несколько файлов-модулей с кодом можно объединить в пакеты модулей. Пакет модулей — это директория, включающая в себя несколько отдельных файлов-скриптов.

Представьте, что у нас следующая структура:

 
|_ my_file.py |_ my_package |_ __init__.py |_ inside_file.py

В файле inside_file.py определена некоторая функция foo. В итоге, дабы получить доступ к этой функции, в файле my_file нужно выполнить:

 
from my_package.inside_file import foo

Также нужно обратить внимание на то, есть ли внутри директории my_package файл init.py. Это может быть и пустой файл, сообщающий Python, что директория является пакетом модулей. В Python 3 включать файл init.py в пакет модулей уже не обязательно, но мы рекомендуем всё же делать это, чтобы обеспечить обратную совместимость.

№25 Python PIP / Уроки по Python для начинающих

PIP — это менеджер для библиотек Python или модулей.
Примечание: Если вы используете версию Python 3.4 и более позднюю, PIP уже установлен по умолчанию.

Что такое библиотека?

Библиотека содержит все файлы, необходимые для модуля.

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

Как проверить установлен ли PIP

Перейдите в командную строку в папку каталога сценариев Python и введите следующее:

pip --version 

Установка PIP

Если PIP у вас не установлен, вы можете сделать это на своем устройстве, скачав с этой страницы: https://pypi.org/project/pip/

Скачивание библиотеки

Откройте командную строку и напишите pip НАЗВАНИЕ БИБЛИОТЕКИ , чтобы загрузить нужную.

Скачаем пакет “camelcase”:

pip install camelcase 

Использование библиотек

Как только библиотека будет установлена, она готова к использованию. Импортируйте camelcase в свой проект.

import camelcase c = camelcase.CamelCase() txt = "hello world" print(c.hump(txt)) 
Hello World 

Поиск необходимых библиотек

Найдите больше библиотек здесь: https://pypi.org/.

  • ТЕГИ
  • Уроки Python для начинающих

Я создал этот блог в 2018 году, чтобы распространять полезные учебные материалы, документации и уроки на русском. На сайте опубликовано множество статей по основам python и библиотекам, уроков для начинающих и примеров написания программ.

Мои контакты: Почта
Python Q https://yandex.ru/q/loves/python Online

Python Q CEO Pythonru admin@pythonru.com https://secure.gravatar.com/avatar/b16f253879f7349f64830c64d1da4415?s=96&d=mm&r=g CEO Pythonru Python Александр Редактор https://t.me/cashncarryhttps://pythonru.com/https://yandex.ru/q/profile/cashnc/ PythonRu.com admin@pythonru.com Alex Zabrodin 2018-10-26 Online Python, Programming, HTML, CSS, JavaScript

Создание библиотеки Python: полный гайд

Это моя первая статья на Хабр'е и в ней я вам расскажу о том, как создать свою библиотеку Python и загрузить её на PyPi. Давайте начнём.

Капельку определений

PyPI — каталог программного обеспечения, написанного на языке программирования Python. Фактически это хранилище открытых библиотек для языка Python. Каждый может скачать и использовать библиотеку или создать и загрузить свою. По состоянию на февраль 2020 года содержит более 216 000 пакетов.

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

Для чего вам нужна своя библиотека?

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

Что вам нужно для создания библиотеки?

  • Код с функциями, которые вы планируете использовать.
  • Набор пакетов для создания и публикации (setuptools, wheel и twine).
  • Аккаунт PyPI (и его API токен - опционально, но об этом позже).
  • Желание и терпение.

Подготовка

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

Для начала, после того как у вас появилась идея, реализуйте всё в отдельном файле и уже потом разбейте на соответствующую структуру (об этом позже). Для примера я буду использовать код класса быстрого взаимодействия с файлами и библиотеку PyDeepLib (возможно позже я напишу об этом статью). Вы можете установить каждую из библиотек командами pip install PyDeepLib и pip install speedfile соответственно. Проекты так же доступны на GitHub (PyDeepLib, speedfile).

Итак, давайте начнём с установки необходимых нам библиотек. Откройте PyCharm (я рекомендую вам использовать именно его, но если у вас его нет, то можете использовать любой другой редактор кода). Создайте новый проект с виртуальным окружением и установите пакеты о которых говорилось раньше ( setuptools , wheel и twine ), используя команду pip install setuptools wheel twine.

Теперь создадим корневую папку для нашего проекта, а в ней файлы setup.py , setup.cfg и папку с таким же названием как корневая.

Файлы нашего проекта на этом этапе должны выглядеть вот так:

Файлы проекта

Как вы можете заметить я поместил все модули проекта в папку PyDeepLib, её название обязательно должно совпадать с корневой.

Регистрация на PyPi

Я не очень хочу подробно на этом останавливаться, но я это сделаю:

Для регистрации на PyPi вам нежно перейти на сайт pypi.org и нажать на кнопку зарегистрироваться:

pypi.org

После этого все стандартно:

Имя, почта, username и пароль. Я думаю вы с этим справитесь.

Файлы setup.py и setup.cfg

Теперь займёмся кодом, который будет устанавливать нашу библиотеку. Для начала откройте файл setup.py . Теперь напишем в него такой код:

from setuptools import setup, find_packages def readme(): with open('README.md', 'r') as f: return f.read() setup( name='speedfile', version='0.0.1', author='yarik_g', author_email='example@gmail.com', description='This is the simplest module for quick work with files.', long_description=readme(), long_description_content_type='text/markdown', url='your_url', packages=find_packages(), install_requires=['requests>=2.25.1'], classifiers=[ 'Programming Language :: Python :: 3.11', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent' ], keywords='files speedfiles ', project_urls=< 'GitHub': 'your_github' >, python_requires='>=3.6' )

Итак, сначала мы создаём функцию readme , она нужна для чтения README.md файла (я расскажу как создать его максимально быстро и просто позже). И затем мы вызываем функцию setup , в которую нам надо передать некоторое число параметров, о них поговорим подробнее:

  • name - название вашей библиотеки.
  • version - версия. Когда будете обновлять библиотеку, версию обязательно надо изменить.
  • author - автор проекта
  • author_email - электронная почта (желательно та, на которую регистрировали аккаунт на PyPi).
  • description - короткое описание.
  • long_description - подробное описание пакета. В данном случае получение содержимого файла README.md.
  • long_description_content_type - разметка, используемая в подробном описании. У нас - markdown.
  • url - ссылка на страницу пакета. Я там указал ссылку на GitHub проекта.
  • packages - список пакетов, которые должны опубликоваться. Для удобства я использовал функцию find_packages.
  • install_requires - дополнительные библиотеки, которые будут установлены вместе с пакетом.
  • classifiers - метаданные о пакете.
  • keywords - ключевые слова (через пробел).
  • project_urls - дополнительные ссылки пакета.
  • python_requires - требуемая версия Python.

Отлично, надеюсь, что с этом мы разобрались. Теперь надо отредактировать файл setup.cfg . Если коротеничко, открываем его и вставляем это:

[egg_info] tag_build = tag_date = 0

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

Основные файлы

Итак, давайте снова вернёмся к файлам проекта PyDeepLib, и рассмотрим устройство файлов модуля.

Ещё раз файлы проекта.

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

Пример файла инициализации проекта

Как видите в нём почти нет кода, только import'ы, весь остальной код же разбит по отдельным файлам. Это намного удобнее чем держать весь код в одном файле, однако к примеру в проекте speedfile весь код располагался в этом основном файле, но там он был небольшим и запутаться там было сложно:

Фрагмент файла инициализации из speedfile

Я думаю, что это всё что надо знать про разбиение кода на модули.

Создание README файла. Красиво и быстро.

У каждой библиотеки должна быть своя документация или хотя-бы описание. Обычно для этого используют README.md файлы. Логично предположить, что для полноты картины нам тоже следует сделать такой файл для библиотеки. Для создания .md файла мы будем использовать редактор markdown файлов, с говорящим названием MarkDownPad2.

Итак, для начало надо скачать редактор (при желании этот пункт можно пропустить. Вы можете редактировать .md файлы прямо в PyCharm или в любом текстовом редакторе, сохранив файл с соответствующим расширением).

Переходим на сайт markdownpad.com и видим, что существует две версии этого редактора, markdownpad free и markdownpad pro. Для наших задач нам вполне хватит бесплатной версии, поэтому жмём на кнопку скачать:

markdownpad.com

После этого начнётся загрузка и потом останется только установить редактор. Я думаю что вы с этим справитесь, но если что, то на сайте есть инструкция:

Установка MDPad

Ок, надеюсь что вы установили редактор. Теперь давайте его запустим:

Фактически, типичное окно редактора текста/кода, каковым MarkDownPad фактически и является. Дальше принцип простой: просто пишем в файл всё то, что вам необходимо иметь в README файле для вашего проекта и применяете инструменты форматирования, такие как: код, цитата, ссылка, заголовок, список и т.д. Я думаю, что самостоятельно разобраться с markdown разметкой будет не очень сложно, но если что, то вот вам полезная статья с наглядным руководством по markdown.

Для примера я просто дам вам код README.md файла библиотеки speedfile:

# Speed File Library # ## What is this? ## The module allows you to work with files in just one line of code, without the need to manually open and close the file each time ## Quick Guide ## The module is based on the following structure: f = open('data.txt') data = f.readlines() f.close() Which Python provides by standard. ---------- ### Using ### Using the library is as simple and convenient as possible: Let's import it first: First, import everything from the library (use the `from `. ` import *` construct). Examples of all operations: Writing the contents of an entire file to a variable using the `read()` function: temp = File(path='test.txt').read() Writing the contents of an entire file to a variable line by line using the `readlines()` function: temp = File(path='test.txt').readlines() Write only the first line from a file using the `readline()` function: temp = File(path='test.txt').readline() Writing data from a variable to a file using write() (overwriting or creating a file): temp = "Test data" File(path='test.txt', data=temp).write() Adding data from a variable to a file using write() (or creating a file): temp = "Test data" File(path='test.txt', data=temp).add() ---------- ## Developer ## My site: [link](https://y-a-r-i-k.github.io/) 

И то, как он выглядит на GitHub:

Speedfile на GitHub

Я надеюсь, вы здесь разберётесь)).

Публикация пакета

Ок, если вы выполнили все предшествующие шаги, но вы готовы к публикации пакета. Итак, переходим к делу:

Открываем терминал или используем встроенный в PyCharm (или редактор кода, который вы используете). Переходим в корневую директорию проекта и пишем:

python setup.py sdist bdist_wheel

После этого создадутся несколько новых папок. Теперь мы готовы к собственно загрузке модуля на PyPi. Пишем это в терминал:

twine upload --repository pypi dist/*

После этого вас попросят ввести ваш usrename и пароль. И на этом моменте хотелось бы остановиться подробнее. Когда вы будете регистрироваться на PyPi вас скорее всего попросят (в добровольно-принудительном порядке) подключить второй фактор защиты. Если вы это уже сделали, то просто указать username и пароль у вас не получится, это вызовет ошибку.

Как же это решить? Очень просто. Вам нужно получить ваш API токен для PyPi.

  1. Переходим в настройки учётной записи:

  1. Крутим вниз до пункта с API-токенами и жмём добавить токен:

  1. Далее вас попросят назвать токен и выбрать область его действия:

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

Итак, обратно выгрузке проекта: теперь в поле для ввода username вам надо указать __token__ а туда где должен быть пароль - ваш API-токен (рекомендую использовать пункт paste или вставить из контекстного меню, так так Ctrl + V может сработать не корректно). После этого жмём Enter и ждём. После завершения загрузки вам дадут ссылку на страницу с вашей библиотекой.

Страница будет выглядеть стандартно, например вот страница PyDeepLib:

PyDeepLib

Ну, и на этом всё, поздравляю! Вы создали и загрузили свою первую библиотеку на PyPi.

От автора:

Спасибо, что дочитали статью до конца, надеюсь она была вам полезна и сэкономила вам время. Если хотите повлиять на выход дальнейших статей, то можете подписаться на мой telegram-канал, там в том числе будут опросы касаемо выходов новых статей. Если хотите со мной связаться или предложить тему для статьи - мои контакты есть на сайте.

Ещё раз спасибо, что дочитали до сюда!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Luxury Car Rental in Miami | Reserve a Premium Vehicle with RealCar