0

我正在尝试使用 python wordcloud_cli.py 作为我在 Plex Media Server 中的后处理脚本的一个组件,从字幕文本中创建一个词云。只是一个有趣的小测试。但是当作为 plex 用户执行时,我无法让它的 python 部分工作。我正在使用 CentOS 7 x64、最新版本的 Plex 媒体服务器和 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 或 su - plex 手动运行它时,不会出现此警告。

4

0 回答 0