Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1

Расширение функциональности pip

17.03.2017, 00:19. Показов 1504. Ответов 1
Метки pip (Все метки)

Студворк — интернет-сервис помощи студентам
Сделал небольшой модуль для собственного удобства.
Если кого-то заинтересует - ссылка внизу.
Если нет - то хотелось бы просто получить ответы на некоторые вопросы, указанные в конце поста.
-----------------------------------------------
Название: pipext.py
Версия: 1.0.0
Описание: модуль основанный на pip и немного дополняющий его:
1) обновление группы модулей одной командой
2) расширенный вывод информации о модулях
3) разнообразные опции выборки модулей для печати на консоль, либо обновления
4) опции форматирования вывода информации
Зависимости: pip
Требования: думаю, что pip не ниже 8\9 версии и соответственно python 3.5\3.6 (совместимость с более прошлыми версиями проверить не могу)
Установка:
1) распаковать архив
2) выполнить команду: python setup.py install
pip install pipext-1.0.0-py3-none-any.whl в папке архива
Ссылка: здесь
Help с примерами: после установки смотрите файл DESCRIPTION.rst в site-packages\pipext-1.0.0.dist-info

------------------------------------------
Скриншот:

------------------------------------------
Про проект pip-tools в курсе. Смотрел после написания своего модуля их pip-review, но там немного другой подход. С командами они не сильно заморачиваются - делают просто os.system(command), у меня - в основном через классы и методы pip. Делать интерактив как у них не стал - было бы похоже на повтор.
------------------------------------------
Вопросы:
Как правильно упаковывать дистрибутив разобрался плохо.
Собственно на примере данного модуля и хотелось бы поучиться.
Непонятно:
1) Что использовать - setuptools или distutils в файле setup.py? На выходе имеем разные результаты.
2) Как сделать, чтобы после установки в site-packages создавалась папка модуля модуль.версия.dist-info?
У меня создается просто файл с таким названием pipext-1.0.0-py3.5.egg-info, в котором информация о модуле.

...В последний момент понял как заставить работать команду bdist_wheel и заменил egg tar.gz на wheel (это вроде как более правильный вариант?), но не понял почему файл readme нельзя просто упаковать внутрь архива?
3) В общем, если не затруднит - пару советов: как правильно (bdist_wheel или sdist) упаковывать такие простые модули для установки и что в них должно быть, кроме самого скрипта и setup.py?
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.03.2017, 00:19
Ответы с готовыми решениями:

Pip : Имя "pip" не распознано как имя командлета, функции, файла сценария или выполняемой программы
Если что япереустановил python 10 на python 9 вылезает такая ошибка при вводе в терминал к примеру python --version, такая ошибка PS...

Пытаюсь поставить playsound, лезут ошибки и предложение обновить pip. Pip не обновляется. Что делать?
Пытаюсь поставить playsound, лезут ошибки и предложение обновить pip. Pip не обновляется. Что делать? Есть ли пакет готового софта без...

Pip install --upgrade pip
python -m pip install --upgrade pip что такое -m?

1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.03.2017, 15:03  [ТС]
Решил использовать в setup.py новый параметр: entry_points = {'console_scripts':['pipext = pipext:main']}
Собрал командой python setup.py sdist --formats=zip zip архив с модулем.
Затем распаковал и установил python setup.py install. Получил в site-packages файл pipext-1.0.0-py3.5.egg (что за крнедель такой?) и в папке Scripts - бинарник pipext.exe, который можно запускать вместо модуля. Собственно последнего и ожидал - так как хотелось запускать скрипт так же как pip - без указания python.
Вопрос: а почему сам модуль (как скрипт) не скопировался в site-packages?
И зачем нужен файл .egg?
И где, в конце концов папка dist-info\egg-info с инфой о модуле?
P.S. В общем, состояние ума как мультике 'Следствие ведут колобки': Ничего не понимаю!

Добавлено через 11 часов 56 минут
------------------------
UPD.
Ок. Как сделать установку с папкой dist-info разобрался - нужно использовать именно bdist_wheel, а не sdist, и setuptools вместо distutils. Последний, как я понял, считается устаревшим средством дистрибуции модулей.
Дистрибутивный файл был перезалит - теперь там тот же установочный wheel, но после установки модуль доступен по команде pipext - то есть в папке Scripts будет находиться одноименный exe-шник (на windows), такой же как и у pip.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.03.2017, 15:03
Помогаю со студенческими работами здесь

Расширение функциональности #define
Visual Studio 2012, Win7x64Prof У меня есть код условно на 10 строк, в котором меняется 2-3 параметра. Например, создание нового...

В заданной папке находить и изменять расширение файлов doс на расширение txt
Написать программу, которая будет в заданной папке находить и изменять расширение файлов doс на расширение txt. Исходный и...

Напишите процедуру, которая заменяет расширение файла на заданное новое расширение
Помогите пж очень надо,не охото 2-у по информатике прошу ПОМОГИТЕ.... Напишите процедуру, которая заменяет расширение файла на...

Напишите функцию,которая заменяет расширение файла на заданное новое расширение
Напишите функцию,которая заменяет расширение файла на заданное новое расширение. Pascal ABC.Заранее спасибо:)

Напишите функцию, которая заменяет расширение файла на заданное новое расширение


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru