После обновления mailman до mailman3 невозможно использовать утилиты CLI: ImportError: нет модуля с именем Mailman

Пройдя по садовой дорожке, читая документацию, и сбиваясь с пути - в частности, материалов, которые - из чистого разочарования я в конце концов нашел путь к «официальной Wiki», которая находится здесь, и она указала мне к «отсутствующим» утилитам интерфейса командной строки (CLI). В моей установке они находятся в /lib/mailman/bin. Однако они не работают!

Например, запуск от имени пользователя mailman:

      $ add_members -h
Traceback (most recent call last):
  File "/lib/mailman/bin/add_members", line 89, in <module>
    from Mailman import i18n
ImportError: No module named Mailman

Я уверен, что кто-то спросит, поэтому:

Fedora Server 32, на котором работает mailman3-3.2.2-1.fc32.noarch... И около 153 или около того пакетов Python3... Команда python3 --version сообщает, что это 3.8.5.

Кстати, я использовал DNF для установки Mailman3. Я понятия не имею, нужно ли было устанавливать что-то еще, но обычно DNF жалуется, если есть неразрешенные зависимости, и не жаловался.

...Мне действительно нужно, чтобы все это заработало, и я НЕ программист на Python, ни в коем случае. И сейчас я действительно не хочу тратить время на его изучение... Зачем об этом упоминать? Продолжай читать:

В качестве "хлебной крошки" (как в народной сказке о Гензеле и Гретель) для тех, кто может следовать дальше, из документации на ранее цитированном сайте, ВИДИМО, опять же, согласно ЭТОМУ источнику, вам придется попасть в оболочку , напишите свои собственные функции и, короче говоря, станьте экспертом по библиотекам Python И Mailman, просто чтобы использовать то, что они называют интерфейсом CLI. Сумасшедший!

Если вы идете по этому маршруту, вы вызываете mailman (чтобы получить правильный контекст пользователя), а затем:

      $ PYTHONSTARTUP= mailman3 shell

И вы получите приглашение Python >>> и оттуда вам нужно будет сделать что-то вроде:

      >>> from mailman.testing.documentation import cli
>>> command = cli('mailman.commands.cli_withlist.shell')
>>> command('mailman shell --details')

И здесь возможно МНОГОЕ, и все это требует много ввода И знанияPythonгораздо лучше, чем я делаю сейчас. Для этого есть документация я нашел здесьздесь....Все, что мне действительно хочется сделать, это импортировать файл, содержащий имена и адреса электронной почты людей, сохраненные из предыдущей версии, и добавить их в список, но для этого в этой среде нужно ОЧЕНЬ много печатать.

К счастью, все ДЕЙСТВИТЕЛЬНО работает, насколько я могу судить по моим не полностью информированным попыткам попробовать это.

Должно быть «очень легко» писать сценарии, имитирующие старые версии.mailman 2.xутилиты, так что, возможно, вы видите, как я был разочарован, прежде чем обнаружил, что утилиты ВСЕ ЕЩЕ существуют, они просто не работают! ...Я на 100% уверен, что смогу выучить Python и библиотеку mailman3 и написать свою собственную, но у меня нет на это времени. ...ИТАК, мне нужно, чтобы эти другие утилиты работали.

0 ответов

Другие вопросы по тегам