Русские Блоги
В этой статье в основном рассказывается о том, как упаковать и загрузить лично написанное приложение Python на официальный склад PyPI, чтобы его можно было устанавливать и использовать напрямую через pip и поддерживать в PyPI.
Распределение инструментов setuptools
Когда-то инструментом распространения для Python был distutils, но он не мог определить зависимости между пакетами. Setuptools — это его расширенная версия, которая может помочь нам лучше создавать и распространять пакеты Python, особенно пакеты со сложными зависимостями. Это восполняет этот недостаток, добавляя базовую зависимую систему и множество связанных функций. Он также предоставляет программу автоматического запроса пакетов для автоматического получения зависимостей между пакетами и завершения установки этих пакетов, что значительно снижает сложность установки различных пакетов и делает ее более удобной.
Обычная установка Python идет с setuptools, если нет, вы можете использовать pip для установки:
【Windows】プロダクトキーを確認するコマンド&ツール【Windows10で流用するために】
$ pip install setuptools
setuptools прост и удобен в использовании, просто напишите короткий установочный файл setup.py, чтобы упаковать приложение Python.
Первый установочный файл
Создайте новый установочный файл setup.py в каталоге learn_setup, а затем создайте пакет myapp для имитации пакета с исходным кодом:
. ├── myapp │ └── __init__.py └── setup.py
Содержимое простого файла setup.py выглядит следующим образом:
from setuptools import setup setup( name=’firstApp’, # Имя приложения version=’0.0.1′, # номер версии packages=[‘myapp’], # Python пакет включен в установочный пакет )
Создать колесо с установочным файлом
С помощью вышеуказанного файла setup.py мы можем открыть различные установочные пакеты, которые в основном делятся на две категории: sdist и bdist.
Source distribution
Использование sdist может быть упаковано в исходный дистрибутив, поддерживаемые форматы сжатия:
zip | zip file (.zip) | Windows по умолчанию |
gztar | gzip’ed tar file (.tar.gz) | Unix по умолчанию |
bztar | bzip2’ed tar file (.tar.bz2) | |
xztar | xz’ed tar file (.tar.xz) | |
ztar | compressed tar file (.tar.Z) | |
tar | tar file (.tar) |
$ python setup.py sdist —formats=gztar,zip
Теперь в каталоге больше каталогов dist и * .egg-info. Сохраненные нами пакеты хранятся в dist. Приведенная выше команда использует —formats Назначенная игра .tar.gz с .zip Пакет, если он не указан, будет упакован в соответствии с форматом по умолчанию для конкретной платформы, как показано в приведенной выше таблице.
Название пакета setup.py Определено в name , version И указанный формат пакета, например: firstApp-0.0.1.tar.gz.
Built distribution
Используя bdist, вы можете распечатать собранный дистрибутив. По сравнению с исходным пакетом, он быстрее устанавливается, потому что он предварительно собран:
Что такое Python/Питон?
gztar | gzipped tar file (.tar.gz) | Unix по умолчанию |
bztar | bzipped tar file (.tar.bz2) | |
xztar | xzipped tar file (.tar.xz) | |
ztar | compressed tar file (.tar.Z) | |
tar | tar file (.tar) | |
zip | zip file (.zip) | Windows по умолчанию |
rpm | RPM | |
pkgtool | Solaris pkgtool | |
sdux | HP-UX swinstall | |
wininst | self-extracting ZIP file for Windows | |
msi | Microsoft Installer. |
В использовании, как sdist, вы можете использовать —formats Укажите формат пакета. Такие как:
$ python setup.py bdist —formats=rpm
Чтобы упростить операцию, setuptools предоставляет следующие команды:
bdist_dumb | tar, gztar, bztar, xztar, ztar, zip | Zip по умолчанию для Windows, gztar по умолчанию для Unix |
bdist_rpm | rpm, srpm | |
bdist_wininst | wininst | |
bdist_msi | msi |
Таким образом, вышеупомянутый пакет rpm может быть использован:
$ python setup.py bdist_rpm
Если вы используете bdist_wininst, распечатывается установочный файл exe, вы можете нажать для установки.
Wheel
Колесо также является встроенной упаковкой и является официально рекомендованным способом упаковки. Может быть, вы встречали или использовали упаковку для яиц, но теперь рекомендуемый метод упаковки — колесо (https://wheel.readthedocs.io/en/stable/)。
Преимущества колесного пакета:
- Faster installation for pure Python and native C extension packages.
- Avoids arbitrary code execution for installation. (Avoids setup.py)
- Installation of a C extension does not require a compiler on Windows or macOS.
- Allows better caching for testing and continuous integration.
- Creates .pyc files as part of installation to ensure they match the Python interpreter used.
- More consistent installs across platforms and machines.
Для упаковки с колесом сначала установите колесо:
$ pip install wheel
Затем используйте bdist_wheel для упаковки:
$ python setup.py bdist_wheel
После успешного выполнения, в дополнение к каталогам dist и * .egg-info, существует также каталог сборки для хранения и упаковки промежуточных данных.
Имя пакета wheel — firstApp-0.0.1-py3-none-any.whl, где py3 указывает, что поддерживается только Python3.
Можно использовать параметры —universal , Имя пакета — mfirstApp-0.0.1-py2.py3-none-any.whl, что указывает на то, что пакет wheel поддерживает как Python2, так и Python3.
Использование универсального также становится универсальным колесным пакетом, иначе его называют чистым колесным пакетом.
Установите колесо
Пример приложения в предыдущем разделе не имеет ничего. Далее добавьте модуль приветствия и переупаковки.
# greet.py def hello(): print(‘Hello, welcome to setuptools!’)
После повторной упаковки с помощью bdist_wheel, мы можем использовать pip для установки в локальный каталог сайтов-пакетов Python.
$ pip install dist/fisrtApp-0.0.1-py3-none-any.whl
Теперь он используется так же, как и другие сторонние библиотеки, установленные с помощью pip:
from myapp.greet import hello hello()
Процесс разработки приложений будет часто меняться, и сначала сложно удалить старую версию для каждой установки. При установке с использованием режима разработки, сам код будет скопирован не в пакеты сайта, а на ссылку на текущее приложение (* .egg-link). Таким образом, изменения исходного кода в текущем местоположении будут немедленно отражены в пакетах сайта. Используйте следующим образом:
$ pip install -e. # или python setup.py development
Чтобы удалить, используйте pip uninstall 。
Загрузить Колесо в PyPI
Пакет Wheel можно использовать и передавать другим людям, но его обслуживание и обновление неудобно, а PyPI в качестве репозитория программного обеспечения Python позволяет каждому легко загружать и скачивать и управлять сторонней библиотекой.
Зарегистрировать учетную запись PyPI
авторизоваться https://pypi.python.org/pypiДля входа в учетную запись.
Установить шпагат
Хотя setuptools поддерживает использование setup.py upload Загружайте файлы пакетов в PyPI, но поддерживает только HTTP и заменяет новый шпагат.
Точно так же сначала нужно установить шпагат:
$ pip install twine
Загрузить с помощью шпагата
$ twine upload dist/*
Введите имя пользователя и пароль для загрузки в PyPI. Если вы не хотите каждый раз вводить пароль учетной записи, вы можете создать файл .pypirc в домашнем каталоге следующим образом:
[distutils] index-servers = pypi pypitest [pypi] username: password: [pypitest] repository: https://test.pypi.org/legacy/ username: password:
Просто введите пароль своей учетной записи, здесь настраиваются официальные pypi и pypitest, если вы хотите настроить другие склады, добавьте в соответствии с форматом.
Вернитесь на домашнюю страницу PyPI, чтобы увидеть загруженное firstApp.
При отображении домашней страницы PyPI будет задержка, поэтому результаты не могут быть найдены сразу, и поиск в pip может оказаться невозможным, но его можно установить с помощью pip.
Выше приведено все содержимое упаковки и распространения Python, конечно же, самая простая функция. Более сложные упаковки, такие как фильтрация модулей, не-py-упаковка файлов, информация об авторах и другие общие требования, реализованы в setup() Внутри. Поэтому следующим шагом является подробное описание setup ().
параметры настройки ()
В приведенном выше установочном файле setup.py мы использовали некоторые параметры setup (): имя, версия, пакеты.
name
Имя проекта — это также имя, которое окончательно ищется в PyPI.
name = ‘firstApp’
version
Номер версии проекта, как правило, состоит из трех частей: ОСНОВНОЙ, МЕНЬШИЙ, ОБСЛУЖИВАНИЕ.
— MAJOR version when they make incompatible API changes,
— MINOR version when they add functionality in a backwards-compatible manner, and
— MAINTENANCE version when they make backwards-compatible bug fixes.
version=’0.0.1′
packages
Перечислите все пакеты, которые должны быть упакованы в проекте. Общего пользования setuptools.find_packages() Автоматическое обнаружение.
packages=find_packages(exclude=[‘contrib’, ‘docs’, ‘tests*’])
exclude Используется для исключения неупакованных пакетов.
description
Краткое описание проекта, обычно всего одно предложение, будет отображаться в нижней части имени на PyPI.
description=’My first Python project’
Для полного описания проекта используйте long_description , Если эта строка в первом формате, PyPI автоматически отобразит ее в формате HTML. Уценку также можно указать.
long_description=long_description, long_description_content_type=’text/x-rst’
url
Обычно это ссылка на GitHub или ссылка на readthedocs. ,
url=’https://github.com/pypa/sampleproject’
Источник: russianblogs.com
Установка python setuptools easy_install и работа с ним
setuptools дополнение для python на данный момент до версии 2.7 позволяющее автоматически загружать и устанавливать пакеты одной строчкой из коммандной строки или консоли для никс систем.
В состав пакета setuptools входит модуль easy_install который позволяет выполнять такие действия как автоматическая загрузка пакетов и их установка, обновление, откат до предыдущей версии.
Для использования easy_install необходимо скачать setuptools и установить, так как автоматика еще не установлена, то все делаем вручную, точнее вручную скачиваем инсталятор ставящий пакет (рассматриваем установку под виндовс)
Обращаю внимание, что setuptools как и easy_install.py доступно на текущий только для python до версии 2.7
Для загрузки переходим на страницу http://pypi.python.org/pypi/setuptools
Пролистав в самый низ странички видим таблицу с доступными пакетами для загрузки, если у нас стоит виндовс и питон 2.7, то выбираем нижний пакет с названием setuptools-0.6c11.win32-py2.7.exe
Загружаем, запускаем инсталятор, производим установку setooptools, после установки переходим в каталог в который установлен питон:
/Python27/Scripts/ и видим там easy_install.exe который запускается из коммандной строки
Теперь чтобы установить пакет достаточно набрать в коммандной строке
easy_install pyside
и будет установлена бесплатная библиотека для работы с графическим интерфейсом QT4
Примечание: если easy_install не запускается из коммандной строки, то необходимо дописать путь по которому искать приложение в переменные среды (для XP — свойства системы — вкладка дополнительно — кнопка внизу переменные среды — группа Системные переменные — Path — изменить и путь до папки Scripts — применить изменения).
Источник: xn--80afqpaigicolm.xn--p1ai
E39. Установка Standard_Tools_Setup 2.12. на Win10. проще простого!✅
Приветствую, парни.
Собирался софт в кучу уже и не помню когда, с рутрекера + инфа с тематических форумов. Как обычно, традиционно для таких же ценителей E39 «разжую» и в рот положу=) Не бойтесь, смело ставьте все у вас получится.
Итак, все будет четко по пунктам, что-куда-как-в какой последовательности нажать, для успешной установки софта, предельно лаконично и кратко без «воды», которая утомляет, как этот процесс вижу я.
Сохраняем с облака папочки. Все тысячу раз проверено на моем ноуте с вин10, установлено и работает.
Важно: Считаю важным проводить установку подобного софта на чистую винду. Этим мы обезопасим себя от разных неожиданностей. Надо полагать, раз уж решились «заморочиться» с весьма специфичным софтом бе ме ве, то за 20 минут установки винды практически в автоматическом режиме, а именно за это время 10-ка и устанавливается, каждый из нас готов справиться.
Допустим, Винда чиста, как слеза, продолжаем.
1. В папке «УСТАНОВКА INPA СМОТРЕТЬ ЗДЕСЬ»( все будет браться оттуда) щелкаем по файлу Standard_Tools_Setup_2.12.
Данный файл -это основа софта. Эту основу мы затем будем наполнять разными ништяками.
ВАЖНО. В момент запуска вышеуказанного файла производим установку оного в режиме совместимости с XPsp3, вин7.
Что это значит? Софт для наших авто производился еще в эру «мамонтовой» XP! И вряд ли инженерный сервис бе ме ве предполагал, что в РФ найдутся (останутся) ценители моделей E-серии до сих пор. Соответственно софт не расчитан на Вин10. Но функционал 10-ки дает возможность работать со столь древними программами.
И слава богу! Возиться с виртуальными машинами, ломать зрение при работе в подобных- ну уж нет, извольте! Хотя тот же BMW TIS я вам скидывал со всеми этими делами, готовым дистрибутивом XP, виртуалкой, для тех мсье, которые знают толк в тонких извращениях- смотрите мое облако в мейл-ру. Можете поиграться. Здесь же делаем так- рационально, удобно.
Итак, устанавливаем, запуская от имени администратора:
Источник: www.drive2.ru
Обзор + Скачать UNLOCKTOOL v2022.06.29.0 Free No Need Activation Auto Loader 100% FREE AND TESTED | 30 JULY 2022
Скачать плагин SkinsRestorer, позволяющий менять скин на сервере майнкрафт. Скин будут видеть другие игроки и вы. + я расскажу как исправить ошибку, при которой не показывается скин.
Скачать плагин ItemsAdder Добавить в майнкрафт свои блоки, еду, инструменты, транспорт, рыбу,
ItemsAdder – это плагин, позволяющий добавлять новые кастомные предметы на ваш сервер. Новые руды, еда, транспорт, мобы – всё это здесь. Этот плагин поможет вам разнообразить игру на сервере и сделать её в разы интереснее
Скачать Плагин AlwaysDay Удалить Ночь/День с сервера
Избавьтесь от надоедливых ночей! Это мгновенно выполнит свою работу во всех мирах на вашем сервере после загрузки. Никакой настройки не требуется, просто перетащите jar-файл. Как только плагин обнаруживает ночное время, он устанавливает время обратно на дневное время (в том числе, когда выполняется команда ‘/ set night’ или альтернатива). Ночи будут полностью удалены с сервера!
Скачать Плагин RealisticSeasons 7.1 – Времена года для 1.16.x – 1.18.x
RealisticSeasons добавляет в миры на вашем сервере такие сезоны, как: лето, весна, осень и зима. Изменение мира происходит без каких-либо ресурспаков! Каждый сезон имеет свой набор особенностей.
Скачать плагин Fast Async WorldEdit (FAWE) / Описание команд
Fast Async WorldEdit -> FAWE это плагин, который увеличивает возможности WorldEdit для редактора мира. Fawe работает в другом потоке и не нагружает сервер даже при больших вставках schematic.
Источник: minebuild.ru