2017-09-24 52 views
0

我有一個網頁報廢腳本,當我通過命令行啓動時,它無任何問題地運行。我創建了一個crontab的工作與定期運行該腳本:由於導入模塊錯誤導致Python sudo cron作業不工作

sudo crontab -e 

根據系統日誌消息腳本開始,但沒有預期的輸出,所以我創建了輸出和錯誤消息的日誌文件,並似乎有一個BeautifulSoup模塊導入問題。

import BeautifulSoup 
ImportError: No module named bs4 

你有任何想法可能是什麼根本原因,我該怎麼解決呢?

編輯: 我的問題是與我的crontabs由不同的用戶(root)運行相關。正如答案中所建議的那樣,當我將其更改爲自己的用戶時,問題就解決了!

+1

您可以爲root用戶安裝beautifulsoup或創建shell腳本。在環境變量'PYTHONPATH'中添加你的python庫,然後運行你的腳本。 – Sraw

+0

檢查我的答案在這裏https://stackoverflow.com/a/13250716/75103 – thebjorn

+0

可能重複的[Crontab未能執行Python腳本](https://stackoverflow.com/questions/13250365/crontab-fails-to-execute -python腳本) –

回答

3

crontab的sudo infront意味着root用戶運行腳本。沒有爲root用戶安裝美味的湯,所以它找不到該模塊。

而不是從「sudo crontab -e」中刪除語句,然後運行,只是「crontab -e」。將腳本放在那裏將從您的用戶帳戶運行,並且應該可以訪問美麗的湯姆模塊