【发布时间】:2015-09-25 19:36:13
【问题描述】:
crontab 代码:
SHELL=/bin/bash
* * * * * /var/www/envs/venv/myproj/scripts/send_hit.sh
.sh 脚本:
#!/bin/bash
cd /var/www/envs/venv
source bin/activate
echo $PYTHONPATH
echo $PATH
输出:
X-Cron-Env: <LANG=en_US.UTF-8>
X-Cron-Env: <SHELL=/bin/bash>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
/var/www/envs/venv/bin:/usr/bin:/bin
如您所见,$PYTHONPATH 是空的。但是,我手动激活时确实不是。
[root@server venv]# source bin/activate
(venv)[root@server venv]# echo $PYTHONPATH
:/var/www/envs/venv/myproj:/var/www/envs/venv/lib/python2.7/site-packages/
【问题讨论】:
-
bin/activate不更新/设置PYTHONPATH环境变量(您可以只 grep 文件)。它仅更新PATH以包含 env 的bin
标签: python cron centos virtualenv