suds Python:权限被拒绝

2024-09-24 00:34:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些代码自去年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,仍然出现相同的“权限被拒绝”错误。在


Tags: inpybuildcacheegglinux错误line
2条回答

suds在多用户环境中运行时,会引发此错误。您的用户(正在运行脚本的用户)不能拥有该目录的所有权。还可以尝试关闭cache或更改缓存目录。在

你能分享导致错误的那部分代码吗。?您应该捕获异常并查看完整的错误日志。在

这实际上是pythonsoap客户机的一个不太完美的设计决策。默认情况下,它在全局空间(/tmp/suds)中创建一个由单个用户拥有的文件,并将其他用户从pythonsoap客户机中锁定。如果您chmod/tmp/suds/*允许全世界访问,它将起作用(IBM在其OpenStack产品中推荐的做法)。。。或者在使用客户机之后通过删除它留下的垃圾来进行清理。在

soap客户机应该已经在users空间(在/home/username下)创建suds目录,这样每个用户都将拥有自己的目录,或者如果它确实应该是一个全局资源,那么它应该使用对文件的开放访问。如果不这样做,可能会导致许多用户损失大量时间。我叫它虫子。它会花费用户的时间并且很容易修复。在

相关问题 更多 >