Сколько библиотек можно импортировать в один проект
Перейти к содержимому

Сколько библиотек можно импортировать в один проект

  • автор:

Сторонние библиотеки и пакетные менеджеры#

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

В качестве примеров сторонних библиотек можно привести numpy, matplotlib, scipy, pandas, scikit-learn, tensorflow, torch, openCV и многие другие. Подавляющее большинство этих библиотек представляет собой проекты с открытым исходным ( open source ), которые можно использовать в своих научных исследованиях абсолютно бесплатно.

Самые популярные пакетные менеджеры — conda и PyPI .

conda #

Пакетный менеджер conda входит в состав дистрибутива anaconda . Более того в дистрибутив anaconda входит ещё и ряд наиболее востребованных библиотек, например, numpy , matplotlib , pandas , scipy , scikit-image , scikit-learn и др.

Более редкие библиотеки потребуют установки. Пакетный менеджер conda значительно облегчает этот процесс. Установить глобально библиотеку с названием libraryname можно следующей командой.

При установке “голого” python с официального сайта устанавливаются только интерпретатор CPython и опционально пакетный менеджер PyPI (Python Package Index). В ряде дистрибутивов linux установлена 3-я версия python по умолчанию, но обычно без пакетного менеджера.

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

Автор курса рекомендует пользоваться чуть более полной версией.

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

Виртуальные окружения#

Установка библиотеки глобально означает, что библиотека будет доступна для импортирования в любом коде. Такой подход имеет ряд недостатков. Например, если библиотек становиться слишком много, то могут возникнуть проблемы с совместимостью каких-то из них между собой. Такое может возникнуть, если в разных проектах используются разные библиотеки, но библиотеки из одного проекта требуют какой-то пакет одной версии, а библиотеки другой версии требуют тот же пакет, но другой версии (например, какие-то из них давно не обновлялись).

Чтобы избежать таких проблем, рекомендуется использовать виртуальные окружения ( virtual environments ), которые позволяют создавать отдельные окружения, каждое из которых может иметь свой набор библиотек своих версий. Подробнее о виртуальных окружения в anaconda можно почитать здесь, а в “голом” CPython предусмотрен модуль venv .

Импортирование модулей и сторонних библиотек#

После установки библиотеки её можно импортировать так же, как и модули стандартной библиотеки. При выполнении операции import libraryname интерпретатор python сначала ищет пользовательский модуль в этой же папке (по сути дела файл libraryname.py ), затем модуль стандартной библиотеки с таким именем, и в самую последнюю очередь стороннюю библиотеку с таким именем. При этом первое найденное совпадение запускает инициализирующий исходный код этого модуля/библиотеки, а затем в текущем пространстве имен создаются переменные, которые связываются с объектами самой библиотеки.

Самый стандартный импорт модуля или библиотеки выглядит следующим образом.

После выполнения этой команды в текущем пространстве имен создаётся имя math , которые связывается с объектом-модулем модуля стандартной библиотеки math . Через атрибуты этого объекта можно получить доступ ко всем функциям модуля math .

Иногда удобно сократить название модуля. Тогда используется следующая форма импорта с созданием псевдонима.

В результате импортируется библиотека numpy , но в текущем пространстве имен создаётся имя np , а не numpy . Через имя np получить доступ ко всем методам библиотеки numpy .

Если есть потребность только в одном или нескольких методах модуля/библиотеки, то можно импортировать только них командой следующего вида.

При таком подходе весь инициализирующий код библиотеки scipy все равно выполняется, но в текущем пространстве имен имя integrate связывается только с конкретным методом integrate библиотеки scipy . Непосредственного доступа к библиотеке scipy при таком подходе не предусматривается.

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

Можно комбинировать импортирование конкретного имени с импортированием с созданием псевдонимом.

При такой форме импорта из библиотеки matplotlib импортируется только pyplot , который в текущем пространстве имен связывается с именем plt .

How to group Python imports?

python

A key part of the PEP-8 Style Guide for Python Code is the Imports section.

This part on grouping imports is particularly important.

  • Standard library imports.
  • Related third party imports.
  • Local application/library specific imports.

“Standard library imports”

This refers to imports from Python’s built-in standard library.

“Related third party imports”

“Third party” confuses a lot of people. These imports could be maintained by yourself or your organisation, but are installed as a separate package.

“Local application/library specific imports”

I take this to mean “imports from the same repository”.

Separate groups with a blank line

Be sure to separate the groups with a blank line.

You should put a blank line between each group of imports.

PEP-8: The Style Guide for Python Code

Import order

Within each group, sort imports alphabetically. (This is not part of the style guide, just my recommendation.)

PYTHON СКОЛЬКО БИБЛИОТЕК МОЖНО ИМПОРТИРОВАТЬ В ОДИН ПРОЕКТ

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

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

Помимо стандартных модулей Python, которые предустановлены в вашей системе, существует огромное количество сторонних библиотек, доступных для загрузки из различных источников, таких как PyPI (Python Package Index), Anaconda и другие. Вы можете импортировать эти библиотеки в свой проект, используя инструкцию import.

Пример использования инструкции import:

import numpy
import pandas
import matplotlib
import seaborn

Это позволит вам использовать библиотеки NumPy, Pandas, Matplotlib и Seaborn в вашем проекте.

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

Пакеты в Python. Файл __init__, переменная __all__

Сколько зарплата начинающего Python программиста

#48. Импорт собственных модулей — Python для начинающих

Импорт собственных модулей в Python. Import modules. Атрибут модуля __name__ и __main__

Прекрати писать код в ОДНОМ файле Python — ТОП 5 Ошибок и создание правильной архитектуры

#1. Читаем исходники open source Python библиотек. Loguru!

Разбиваем проект на файлы

Модули. Импорт стандартных модулей в Python. Команды import и from Python. Импорт модулей Python

Как создать один файл Python из нескольких скриптов?

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

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

Что такое модуль Python?

Сценарий Python — это любой блок кода Pythonic, т. е. он имеет отношение к интерпретатору Python. Модуль Python — это файл, содержащий скрипт Python. Он может иметь код Python любого количества строк. Нам нужен модуль Python для сохранения скрипта Python. Когда вы пишете скрипт Python в терминале, как только вы выходите из интерпретатора Python, скрипт теряется. Невозможно снова получить доступ к тому же сценарию или запустить его снова. Поэтому для этой цели нам нужен модуль Python.

Связанный: Узнайте о нескольких популярных модулях Python.

Что такое пакет Python?

Пакет Python — это каталог, содержащий модули Python и файл __init__.py. __init__.py — это конструктор пакета Python, который вызывается всякий раз, когда пакет Python импортируется. Это способ создать папку с файлами Python и помогает в организации файлов Python.

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

Связанный: Для чего используется __init__.py?

Объединение нескольких скриптов Python

Объединение нескольких сценариев Python означает использование более одного файла Python и создание из них одного файла. Для этого существуют различные методы. Один из самых простых способов — импортировать все сценарии Python в один файл Python с помощью команды import заявление. Мощный и эффективный импорт может быть осуществлен путем объединения import ключевое слово с from ключевое слово.

Чуть более продвинутый способ объединения нескольких файлов Python — использование zipfile . ZIP-файл сжимает несколько файлов и создает из них один заархивированный файл.

Как объединить несколько файлов Python с помощью модуля Zipfile

Объединение файлов Python с модулем Zipfile

Объединение файлов Python с модулем Zipfile

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

Zip-файл для нескольких файлов Python

Zip-файл для нескольких файлов Python

Когда ты unzip (распаковать) этот zip-файл, вы найдете папку со всеми файлами Python, которые вы объединили.

Разархивирование Zip-файла с несколькими отдельными файлами Python

Разархивирование Zip-файла с несколькими отдельными файлами Python

Итак, вы объединили несколько скриптов Python.

Запуск скриптов Python из файла Python

Альтернативой оператору импорта является библиотека подпроцессов. Он позволяет запускать несколько операций оболочки из скрипта Python. Мы можем использовать библиотеку подпроцессов для запуска нескольких файлов Python из одного скрипта Python. Преимущество библиотеки подпроцессов заключается в том, что вы можете динамически запускать файл Python в качестве пользовательского ввода во время выполнения.

Итак, давайте создадим файл Python с некоторым скриптом Python.

Простой файл Python

Простой файл Python

Теперь, когда мы создали простой файл Python, нам просто нужно его запустить.

Использование подпроцесса для динамического запуска файла Python

Использование подпроцесса для динамического запуска файла Python

Итак, сначала мы импортировали библиотеку подпроцессов. Затем мы воспользовались run метод библиотеки подпроцессов для запуска файла Python. Метод run принимает имя файла в качестве входных данных. Таким образом, вы можете зациклить эту строку кода, чтобы запустить столько файлов, сколько хотите, или даже указать, какие файлы вы должны запускать статически.

Объединение нескольких файлов Python в один файл Python с помощью shutil и pathlib библиотеки

Вы также можете объединить текст файлов Python и создать из него один файл Python, используя shutil и pathlib библиотеки.

Слияние файлов Python с использованием библиотеки Shutil

Слияние файлов Python с использованием библиотеки Shutil

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

Упаковка и распространение вашего проекта

Теперь вы можете упаковать, а затем распространить созданный вами проект. Это немного утомительный процесс, но если вы будете придерживаться метода, вы сможете это сделать. Для этого вам сначала нужно настроить свой пакет, а затем, как только вы получите файл колеса, вы можете загрузить этот файл колеса в PyPI для распространения.

Начнем с настройки нашего проекта с setup.py файл.

Как создать setup.py файл для вашего проекта?

Для настройки вашего проекта вам понадобится setuptools библиотека. Инструменты настройки предоставляют функции для упаковки вашего проекта и создания файла колеса из вашего проекта. Во-первых, вам нужно будет установить setuptools используя следующую команду.

После того, как вы установили библиотеку setuptools, вам нужно будет использовать setup способ указать метаданные и настроить пакет.

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

Это создаст файл колеса, который вы сможете позже загрузить в PyPI для целей распространения.

Настройка пакета для распространения с помощью программы установки

Настройка пакета для распространения с помощью программы установки

Как загрузить свой проект в индекс пакетов Python (PyPI)?

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

Регистрация учетной записи на PyPI

Регистрация учетной записи на PyPI

После того, как вы введете данные, нажмите на кнопку Create account кнопка внизу. Теперь вы должны подтвердить свой адрес электронной почты, чтобы загрузить свой проект в PyPI. После проверки вам нужно будет использовать библиотеку шпагата, чтобы загрузить свой проект в PyPI. Установите библиотеку шпагата с помощью следующей команды.

Теперь вы можете загрузить свой проект дистрибутива, загрузив файл колеса внутри dist папку, которую вы получили после установки с помощью следующей команды.

Заключение

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

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

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