Python ImportError: нет модуля с именем site (при запуске пользователем Linux plex)

Я пытаюсь создать облако слов из текста субтитров, используя python wordcloud_cli.py как компонент моего скрипта постобработки в Plex Media Server. Просто забавный маленький тест. Но я не могу заставить работать часть Python при работе в качестве пользователя plex. Я использую CentOS 7 x64, последнюю версию Plex Media Server и Python 2.7.5.

В основном мой script.sh отформатирован так:

#!/bin/sh
file="$1"
source="${file%.*}"
ffmpeg (code to extract subtitles and create .srt file)
python /usr/bin/wordcloud_cli.py --text /var/lib/plexmediaserver/${source}.srt --imagefile var/lib/plexmediaserver/${source}_wordcloud.png --width 1280 --height 540 --margin 15

Когда я выполняю этот скрипт от имени пользователя root, он работает безупречно. Когда я переключаю пользователя с помощью..

su - plex

... и выполнить скрипт, используя "./script.sh file.ts", он работает безупречно.

Но когда я позволяю PMS запустить скрипт из окна настроек DVR и смотрю журнал systemctl, я вижу это...

Aug 15 14:00:18 Plex.localdomain sh[2657]: Wordcloud_cli starting
Aug 15 14:00:18 Plex.localdomain sh[2657]: Could not find platform independent libraries <prefix>
Aug 15 14:00:18 Plex.localdomain sh[2657]: Could not find platform dependent libraries <exec_prefix>
Aug 15 14:00:18 Plex.localdomain sh[2657]: Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Aug 15 14:00:18 Plex.localdomain sh[2657]: ImportError: No module named site

Я добился прогресса, вставив следующее в начало моего скрипта..

export PYTHONPATH=/usr/lib64/
export PYTHONHOME=/usr/

Теперь, когда я запускаю его, я получаю только...

ImportError: No module named site.

Это предупреждение не появляется, когда я запускаю его вручную как root или sulex.

0 ответов

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