您的位置:首页 > 运维架构 > Linux

Linux下,将python安装在个人目录下,配置环境变量,以及解决crontab执行python脚本会出错的问题

2015-10-13 12:03 931 查看
1、将python安装在个人目录下:

$ tar -xvf Python-2.7.10.tar

$ cd Python-2.7.10

$ ./configure --prefix=$HOME/usr/local --enable-shared

$ make

$ make install

然后,python的解释器和库就安装在了 $HOME/usr/local/bin 和 $HOME/usr/local/lib
下。

2、配置环境变量:编辑 $HOME/.bashrc,添加以下环境变量,再source即可

$ vim $HOME/.bashrc

LD_LIBRARY_PATH=$HOME/usr/local/lib:$LD_LIBRARY_PATH

PYTHONPATH=$HOME/usr/local/bin/python:$HOME/usr/local/lib/python2.7:$PYTHONPATH

PATH=$HOME/usr/local/bin:$PATH

export LD_LIBRARY_PATH PYTHONPATH PATH

$ source $HOME/.bashrc

3、crontab定时执行python程序时有时会出现错误,例如:

ImportError: No module named xxx   或 其他错误

这可能是因为crontab不会带入自定义的环境变量,所以虽然把python安装在了个人目录下,而且设置了.bashrc中的环境变量,但是在crontab中并没有引入这些环境变量,所以crontab中的python仍然是系统中的python,而不是安装在个人目录下的。因此,如果import的模块安装在了个人目录中,就会出现以上问题。

这个问题的解决方法是: 使用一个shell脚本,在该脚本中先source $HOME/.bashrc,然后再执行python脚本,最后在crontab中执行这个shell脚本即可:

$ vim test.sh

#!/bin/sh

source $HOME/.bashrc

python xxx.py

$ crontab -e

0 8 * * * sh test.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python