Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 如何使用带有代理的crontab运行python脚本_Python 2.7 - Fatal编程技术网

Python 2.7 如何使用带有代理的crontab运行python脚本

Python 2.7 如何使用带有代理的crontab运行python脚本,python-2.7,Python 2.7,我正在尝试从bash脚本运行python脚本,以便使用crontab将文件上载到网站。脚本从终端运行,但从crontab不起作用,错误为 "Error: <urlopen error [Errno -2] Name or service not known>" 在手动运行和使用crontab的情况下,当我尝试用python脚本“打印(os.environ)”时: 使用crontab: "{'MAILTO': '/var/mail/envclim', 'LANG': 'en_US.U

我正在尝试从bash脚本运行python脚本,以便使用crontab将文件上载到网站。脚本从终端运行,但从crontab不起作用,错误为

"Error: <urlopen error [Errno -2] Name or service not known>"
在手动运行和使用crontab的情况下,当我尝试用python脚本“打印(os.environ)”时:

使用crontab:

"{'MAILTO': '/var/mail/envclim', 'LANG': 'en_US.UTF-8', 'SHELL': '/bin/sh',    'XDG_RUNTIME_DIR': '/run/user/1000', 'SHLVL': '2', 'PYTHONPATH': '/usr/lib/python2.7/site-packages:/usr/lib/python2.7/site-packages/', 'OLDPWD': '/home/envclim/upload_sdswas', 'PWD': '/home/envclim/upload_sdswas/upload_scripts', 'LOGNAME': 'envclim', 'USER': 'envclim', 'HOME': '/home/envclim', 'PATH': '/bin:/usr/bin:/usr/local/bin:/usr/local/CDO/bin', 'XDG_SESSION_ID': '6', '_': '/usr/bin/python'}"
但在手动情况下,存在代理,如下所示:

{'HTTP_PROXY': 'http://10.51.51.51:80/', 'KDE_IS_PRELINKED': '1', 'ALL_PROXY':  'socks://10.51.51.51:80/', 'NO_PROXY': 'localhost,127.0.0.0/8,::1', 'GJS_DEBUG_OUTPUT': 'stderr', 'http_proxy': 'http://10.51.51.51:80/', 'FTP_PROXY': 'http://10.51.51.51:80/',----------} 
在crontab中,我添加了:

SHELL=/bin/sh
PATH=/bin:/usr/bin
PYTHONPATH=/usr/lib/python2.7/site-packages
MAILTO=/var/mail/envclim
我用的是软呢帽19。我试图禁用代理,但脚本根本不起作用

请问,谁能解决这个问题

提前谢谢
Zeinab

非常感谢您的评论,我通过添加以下行解决了此问题:

in crontab:

PYTHONPATH=/usr/lib/python2.7/site-packages
HTTP_PROXY=http://10.51.51.51:80/

and in bash file that used to run python script:

export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/site-packages/
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/local/usr/lib

I hope that be useful for someone

my best wishes
 Zeinab

给我们看剧本。至少是尝试使用url.br.open(url)br.select_form(nr=1)br.form.add_file(open(filename,'rb'),'text/plain',basename(filename))执行操作的部分br.submit()您应该将该信息添加到问题的文本中,它就属于那里(因为这会让任何人都更容易找到它,试图回答你的问题)。无论如何,我不知道你的代码中的
br
是什么。它来自哪里?试试:br=Browser(factory=RobustFactory())br.addheaders.append('Authorization','Basic%s'%base64.encodestring('%s:%s'(usr,pwd)))br.open(url)br.select_form(nr=1)br.form.add_file(open(filename,'rb'),'text/plain',basename(filename))br.submit()print“文件'%s'已成功上载”%filename sys.exit(0),异常除外,e:print“错误:”,e sys.exit(1)将它添加到问题的文本中,而不是添加到注释中。它很难阅读。包括所有必需的导入也很方便,我不知道
浏览器
来自何处。
in crontab:

PYTHONPATH=/usr/lib/python2.7/site-packages
HTTP_PROXY=http://10.51.51.51:80/

and in bash file that used to run python script:

export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/site-packages/
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/local/usr/lib

I hope that be useful for someone

my best wishes
 Zeinab