virtualenv路徑 /home/test/py/python
virtualenv中使用pip install beautifulsoup了,現(xiàn)在/home/test/py/下有test.py,里面 from bs4 import BeautifulSoup
來(lái)使用bs
直接 /home/test/py/python/bin/python /home/test/py/test.py
執(zhí)行正常
但 crontab -e
新建一個(gè)cron,內(nèi)容如下:
10 10 * * * /home/test/py/python/bin/python /home/test/py/test.py
卻沒(méi)有執(zhí)行結(jié)果。是哪里有問(wèn)題?
歡迎選擇我的課程,讓我們一起見證您的進(jìn)步~~
先確認(rèn)這一條計(jì)劃任務(wù)是否被執(zhí)行了:
10 10 * * * /home/test/py/python/bin/python /home/test/py/test.py > /home/test/test.log
如果出現(xiàn)了 test.log, 那么說(shuō)明這一條確實(shí)被執(zhí)行了,但是那個(gè) test.py 沒(méi)有按照預(yù)期來(lái)執(zhí)行。
在 crontab 里最主要的問(wèn)題還是環(huán)境變量的問(wèn)題,因?yàn)?.bashrc 不會(huì)被執(zhí)行,所以很多環(huán)境變量都沒(méi)有。
你可以檢查一下 test.py 是否依賴某個(gè)環(huán)境變量,或者依賴當(dāng)前工作目錄。
可以先試著在 test.py 里寫個(gè) Hello World, 看看是否會(huì)被輸出到 test.log.
我之前也遇到過(guò)這個(gè)問(wèn)題,我的解決辦法是這樣的,創(chuàng)建一個(gè)shell腳本,然后在shell腳本里面調(diào)用python,代碼如下:
cd /var/PyEnvs/InstaHub-V1/
source ./bin/activate
cd site/tasks
/var/PyEnvs/InstaHub-V1/bin/python task_push_message.py
deactivate
InstaHub-V1是我的python虛擬環(huán)境,這個(gè)腳本已經(jīng)跑了2個(gè)月了,目前為止沒(méi)有發(fā)現(xiàn)問(wèn)題
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)