Matplotlib似乎需要$ DISPLAY环境变量,这意味着正在运行的X服务器.
某些Web托管服务不允许运行X服务器会话.
有没有办法在没有正在运行的X服务器的情况下使用matplotlib生成图形?
[username@hostname ~]$ python2.6
Python 2.6.5 (r265:79063, Nov 23 2010, 02:02:03)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/username/lib/python2.6/matplotlib-1.0.1-py2.6-linux-i686.egg/matplotlib/pyplot.py", line 270, in figure
**kwargs)
File "/home/username/lib/python2.6/matplotlib-1.0.1-py2.6-linux-i686.egg/matplotlib/backends/backend_tkagg.py", line 80, in new_figure_manager
window = Tk.Tk()
File "/usr/local/lib/python2.6/lib-tk/Tkinter.py", line 1643, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, …Run Code Online (Sandbox Code Playgroud) 我通过输入crontab -e在ubuntu环境中为root用户设置了cronjob
34 11 * * * sh /srv/www/live/CronJobs/daily.sh
0 08 * * 2 sh /srv/www/live/CronJobs/weekly.sh
0 08 1 * * sh /srv/www/live/CronJobs/monthly.sh
Run Code Online (Sandbox Code Playgroud)
但是cronjon不会跑.我已经尝试检查cronjob是否正在运行
pgrep cron
并提供进程ID 3033. shell脚本调用python文件,用于发送电子邮件.运行python文件是可以的.它没有错误,但是cron没有运行.daily.sh文件中包含以下代码.
python /srv/www/live/CronJobs/daily.py
python /srv/www/live/CronJobs/notification_email.py
python /srv/www/live/CronJobs/log_kpi.py
Run Code Online (Sandbox Code Playgroud) 是否可以通过 cron 在终端或任何其他 GUI 中显示结果。
例如,我只是编写一个脚本来显示终端每分钟的时间。但它什么也没做。那么 cron 是否可以在 GUI 中显示结果。