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.