Распечатать сообщение из setup.py через Pip - PullRequest
2 голосов
/ 29 января 2020

Есть ли способ сделать сообщение и / или предупреждение видимым для пользователя из setup.py, когда они используют pip?

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

from setuptools import setup
from setuptools.command.install import install
import warnings
import sys


class CustomInstallCommand(install):
    def run(self):
        install.run(self)
        sys.stdout.write('My message.\n')
        sys.stdout.flush()
        warnings.warn('My warning.', UserWarning)


setup(name='blub',
      version='0.1',
      description='blah',
      packages=['blub'],
      cmdclass={'install': CustomInstallCommand})

Когда я запускаю python setup.py install, я вижу пользовательское сообщение печати и предупреждение в выводе.

Однако, если я запустить pip install ., я получаю только это:

C:\Users\ae\Software\SomeModule>pip install .
Processing c:\users\ae\software\somemodule
Building wheels for collected packages: blub
  Building wheel for blub (setup.py) ... done
  Created wheel for blub: filename=blub-0.1-cp37-none-any.whl size=1115 sha256=51c91c5b449673e3be5dd7382cd12f59cb38021167ba3a0b3634214419c61bcb
  Stored in directory: C:\Users\ae\AppData\Local\Temp\pip-ephem-wheel-cache-575zecpf\wheels\81\5f\73\46e55517a1e0973939e9578945ff104b6e0193cfaed649e206
Successfully built blub
Installing collected packages: blub
  Found existing installation: blub 0.1
    Uninstalling blub-0.1:
      Successfully uninstalled blub-0.1
Successfully installed blub-0.1

1 Ответ

1 голос
/ 29 января 2020

Попробуйте: pip install . -v

-v является подробным, оно показывает подробные сообщения. Он закрыт по умолчанию. Пользователи не хотят это видеть. Если вы отображаете это как ошибку, они могут быть, но это может привести их в замешательство, если это не ошибка, и вы отображаете это как ошибку.

Ссылка для получения дополнительной помощи: Как напечатать предупреждения и ошибки при использовании setuptools (pip)

...