我有一些代码从去年11月开始就没有被修改过,直到现在,它一直运行得很好。据我所知,在这个主机上没有其他任何变化。
错误:
Traceback (most recent call last):
File "/scm/pvcs/scripts/pyscripts/update_scr_20.py", line 115, in <module>
updateSCR(SCR, myDeployer, myDeployerID, myEnv, myEnvID, deployTime)
File "/scm/pvcs/scripts/pyscripts/update_scr_20.py", line 33, in updateSCR
client = Client(url=SBM_WSDL, location=SBM_ENDPOINT, timeout=180)
File "build/bdist.linux-x86_64/egg/suds/client.py", line 109, in __init__
File "build/bdist.linux-x86_64/egg/suds/cache.py", line 145, in __init__
File "build/bdist.linux-x86_64/egg/suds/cache.py", line 277, in checkversion
File "build/bdist.linux-x86_64/egg/suds/cache.py", line 251, in clear
OSError: [Errno 13] Permission denied: '/tmp/suds/suds-7962357479995671267-document.px'我已经将文件权限更改为777,仍然得到相同的“拒绝权限”错误。
发布于 2015-03-11 17:38:40
在多用户环境中运行suds时会引发此错误。您的用户(您正在运行脚本的用户)不能拥有该目录的所有权。还可以尝试关闭cache或更改缓存目录。
您能分享导致错误的部分代码吗?您应该捕获异常并查看完整的错误日志。
发布于 2019-09-19 16:29:56
从本质上说,这是python soap客户端的一个不太完美的设计决策。默认情况下,它在全局空间(/tmp/sud)中创建一个由单个用户拥有的文件,并将其他用户排除在使用python soap客户端之外。如果您的chmod /tmp/suds/*允许世界访问,它将工作( IBM建议在他们的OpenStack产品).或者在使用客户端后清除它留下的垃圾。
soap客户机应该已经在用户空间(在/home/username下)创建了suds目录,因此每个用户都有自己的目录,或者如果它真的应该是一个全局资源,那么应该使用对文件的开放访问。由于两者都不做,这可能导致许多用户浪费了大量时间。我会称它为窃听器。一些花费用户时间和容易修复的东西。
https://stackoverflow.com/questions/28993344
复制相似问题