【发布时间】:2022-01-06 09:46:45
【问题描述】:
我已经安装了一个 python 3 播客下载工具,它使用以下命令在命令行上运行良好:
python3 -m podcastdownloader "Global News Podcast" -f 'https://podcasts.files.bbci.co.uk/p02nq0gn.rss' -l 1
现在我想使用 cron 从 shell 脚本运行它。当我将其放入 shell 脚本并使其可执行如下:
#!/bin/bash
python3 -m podcastdownloader "Global News Podcast" -f https://podcasts.files.usrbbci.co.uk/p02nq0gn.rss' -l 1
当我跑步时,我得到一个
/usr/bin/python3: No module named podcastdownloader
这是包裹的位置
/home/openhabian/.local/lib/python3.7/site-packages/podcastdownloader
如果我运行python3 -m site
sys.path = [
'/home/openhabian/media/podcasts',
'/usr/lib/python37.zip',
'/usr/lib/python3.7',
'/usr/lib/python3.7/lib-dynload',
'/home/openhabian/.local/lib/python3.7/site-packages',
'/usr/local/lib/python3.7/dist-packages',
'/usr/lib/python3/dist-packages',
]
USER_BASE: '/home/openhabian/.local' (exists)
USER_SITE: '/home/openhabian/.local/lib/python3.7/site-packages' (exists)
ENABLE_USER_SITE: True
任何想法我做错了什么?
谢谢!
好的,我想通了——我需要使用 openhab 用户专门调用 shell 脚本。我不知道为什么,但它确实有效....有一天我会理解 UNIX!
即:
sudo -u openhabian .\podcasts.sh
【问题讨论】:
-
podcastdownloader安装在哪里?当没有指定脚本时,Python 路径隐式包含当前工作目录。 -
/home/openhabian/.local/lib/python3.7/site-packages/podcastdownloader @chepner
-
python3在每种情况下指的是相同的安装吗? -
@chepner 我不知道如何检查 - 错误指向 usr/bin/python3 似乎很奇怪,看起来我安装了几个 python....
-
这是 100% 正常的。对于
openhabian以外的任何用户,/home/openhabian/.local/bin如何位于路径中?