Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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 Py3.5 subprocess.run意外kwarg';stderr';_Python_Django_Subprocess_Python Import_Python 3.5 - Fatal编程技术网

Python Py3.5 subprocess.run意外kwarg';stderr';

Python Py3.5 subprocess.run意外kwarg';stderr';,python,django,subprocess,python-import,python-3.5,Python,Django,Subprocess,Python Import,Python 3.5,我最近在Django==1.9.1项目中使用了Python3.5子流程。该应用程序名为contest,感兴趣的两个文件是: 竞赛/兼容.py 竞赛/utils.py 现在,compat.py有: import sys if sys.version_info >= (3, 5): from subprocess import (run, PIPE, TimeoutEx

我最近在Django==1.9.1项目中使用了Python3.5
子流程。该应用程序名为
contest
,感兴趣的两个文件是:

  • 竞赛/兼容.py
  • 竞赛/utils.py
现在,compat.py有:

import sys

if sys.version_info >= (3, 5):
    from subprocess import (run,
                            PIPE,
                            TimeoutExpired)
    print('V> 3.5')

else:

    from subprocess import (PIPE,
                            Popen,
                            TimeoutExpired,
                            CalledProcessError,
                            CompletedProcess)

    def run(*popenargs, input=None, timeout=None, check=False, **kwargs):
        '''Python3.5 subprocess code copied here'''
        return CompletedProcess(process.args, retcode, stdout, stderr)
    print('V NOT > 3.5')    
contest/utils.py包含

from contest.compat import (run,
                            PIPE,
                            TimeoutExpired)

def some_function(*args, **kwargs):
        p = run(cmd,
                timeout=timeout,
                stderr=PIPE,
                stdout=PIPE,
                shell=True)
现在,当我使用py3.5单独运行这段代码时,它运行得很好。当它在Django测试服务器(也在py3.5上)内运行时,模型的方法调用此实用程序
some_函数
时,将显示一个错误,大意是:

TypeError:run()得到了一个意外的关键字参数“stderr”


为什么会发生这种情况?

由于我无法再重现此问题,我假设我的环境出了问题。

显示完整的回溯。添加调试输出,以确保使用了
子流程.run()
(例如,添加
帮助(运行)