|
|
|
Расширение функциональности pip17.03.2017, 00:19. Показов 1504. Ответов 1
Сделал небольшой модуль для собственного удобства.
Если кого-то заинтересует - ссылка внизу. Если нет - то хотелось бы просто получить ответы на некоторые вопросы, указанные в конце поста. ----------------------------------------------- Название: pipext.py Версия: 1.0.0 Описание: модуль основанный на pip и немного дополняющий его: 1) обновление группы модулей одной командой 2) расширенный вывод информации о модулях 3) разнообразные опции выборки модулей для печати на консоль, либо обновления 4) опции форматирования вывода информации Зависимости: pip Требования: думаю, что pip не ниже 8\9 версии и соответственно python 3.5\3.6 (совместимость с более прошлыми версиями проверить не могу) Установка: 1) распаковать архив 2) выполнить команду: 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? На выходе имеем разные результаты. У меня создается просто файл с таким названием pipext-1.0.0-py3.5.egg-info, в котором информация о модуле. ...В последний момент понял как заставить работать команду bdist_wheel и заменил egg tar.gz на wheel (это вроде как более правильный вариант?), но не понял почему файл readme нельзя просто упаковать внутрь архива? 3) В общем, если не затруднит - пару советов: как правильно (bdist_wheel или sdist) упаковывать такие простые модули для установки и что в них должно быть, кроме самого скрипта и setup.py?
1
|
|
| 17.03.2017, 00:19 | |
|
Ответы с готовыми решениями:
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
|
|
| 17.03.2017, 15:03 | |
|
Помогаю со студенческими работами здесь
2
Расширение функциональности #define В заданной папке находить и изменять расширение файлов doс на расширение txt
Напишите функцию,которая заменяет расширение файла на заданное новое расширение Напишите функцию, которая заменяет расширение файла на заданное новое расширение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|