![](/img/trans.png)
[英]Virtualenv is not being activated from supervisord AWS Elasticbeanstalk
[英]virtualenv not activated from crontab on Linux Centos
我面臨一個奇怪的問題。
我需要編寫一個crontab來調用python腳本,但是我需要先激活virtualenv。 這是我寫的crontab:
SHELL = /bin/bash
MAILTO="mail@mail.com"
*/15 * * * * source /srv/python/virtualenvs/proj/bin/activate && /srv/python/virtualenvs/proj/bin/python3.6 /srv/python/proj/Scripts/scheduling.py
該腳本scheduling.py
嘗試從使用Oracle數據庫導入數據Cx_Oracle
。 Crontab給我一個錯誤:
[2018-12-05 14:45:02] ERROR - DB connection error: DPI-1047: 64-bit Oracle Client library cannot be loaded: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html
因此,我顯然想到了與Oracle和庫cx_Oracle
有關的錯誤。 奇怪的是,如果我進入linux shell並執行
source /srv/python/virtualenvs/proj/bin/activate
然后鍵入python
以打開python shell,然后:
import cx_Oracle
import pandas
con = cx_Oracle.connect('parameter_connection')
query = 'select * from tab1 fetch first 5 rows only'
pd.read_sql(query, con = con)
它的工作原理,並給我查詢結果。 我懷疑crontab
的virtualenv沒有正確激活。
有任何想法嗎? 謝謝
在crontab中
*/15 * * * * /home/user/script.sh > /dev/null 2>&1
在script.sh中
#!/bin/bash
source /srv/python/virtualenvs/proj/bin/activate
/srv/python/virtualenvs/proj/bin/python3.6 /srv/python/proj/Scripts/scheduling.py
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.