Motd Python Script не работает с импортированными библиотеками

Я пытаюсь редактировать motd, но вместо скриптов bash я хочу использовать скрипты Python. Оказывается, что скрипты Python не работают с импортированными библиотеками.

Например, это будет работать:

#!/usr/bin/env python3
print("Hello")

Однако, это не работает:

#!/usr/bin/env python3
import psutil
print(f"Users: {len(psutil.users())}")

При использовании команды sudo update-motd оба сценария работают, но когда я пытаюсь для подключения через ssh работает только верхний скрипт. Я уже проверил следующие настройки ssh:

в / etc / ssh / sshd_config PrintMotd включен:

PrintMotd yes

в /etc/pam.d/ssh У меня есть эти настройки для motd:

session    optional     pam_motd.so  motd=/run/motd.dynamic
session    optional     pam_motd.so noupdate

Я использую Ubuntu 18.04.3 LTS x86_64

1
задан 22 August 2019 в 18:48

1 ответ

Я нашел решение сам: лучший способ решить эту проблему состоит в том, чтобы создать virtualenv (сначала устанавливают его с sudo apt-get install python-virtualenv)

Затем инициируйте его с virtualenv path/to/env

Активируйте его source path/to/env/bin/activate

Установите все зависимости с pip3

Затем в motd файлах я просто изменил хижину для указания на virtualenv

#!path/to/env/bin/python3
0
ответ дан 7 December 2019 в 19:02

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

Похожие вопросы: