TypeError: __init__() got an unexpected keyword argument 'options'
TypeError: __init__() got an unexpected keyword argument 'options'
我从 python 脚本中收到错误。错误如下所示。在进一步的源代码中,我有来自 session.py 的 python 脚本片段和来自问题行周围的 ssh_session.py 。根据错误,似乎参数选项被赋予了由 super 表示的 class,其中 class 不知道参数选项。棘手的是,尽管这是我第一次使用这套脚本,但我知道其他人一直都在成功地使用这套脚本。所以我开始想,也许我有一个与 python 模块相关的版本问题。任何人都可以阐明错误的性质,其中 __init__ 会在意外的关键字参数上大声疾呼,而它似乎对其他所有人都有效?如果是模块问题,我怎么知道参数何时或在哪个版本中出现或被删除?
2017-03-17 16:23:36,303-07 ERROR - File "/home/rmaes/.local/lib/python2.7/site-packages/ctf/ssh_session.py", line 92, in __init__
2017-03-17 16:23:36,303-07 ERROR - interactOnFailure=interactOnFailure, verbose=verbose, logLevel=logLevel)
2017-03-17 16:23:36,303-07 ERROR - File "/home/rmaes/.local/lib/python2.7/site-packages/ctf/session.py", line 376, in __init__
2017-03-17 16:23:36,303-07 ERROR - env=self.env)
2017-03-17 16:23:36,303-07 ERROR - TypeError: __init__() got an unexpected keyword argument 'options'
2017-03-17 16:23:36,303-07 ERROR - End traceback.
2017-03-17 16:23:36,304-07 INFO - END ANCILLARY "_testRunSuite"
2017-03-17 16:23:36,304-07 INFO - Exception forces exit because exit-on-error is True.
ssh_session 第 92 行
super (Ssh, self).__init__(timeout=timeout, maxread=maxread,
searchwindowsize=searchwindowsize, logfile=logfile, cwd=cwd, env=env,
ignore_sighup=ignore_sighup, echo=echo, options=options,
encoding=encoding, codec_errors=codec_errors,
interactOnFailure=interactOnFailure, verbose=verbose, logLevel=logLevel)
def login (self, host, username, password='', terminal_type='ansi',
original_prompt=r"[#$]", login_timeout=10, port=22,
auto_prompt_reset=True, ssh_key=None, quiet=True,
sync_multiplier=1, check_local_ip=True):
session.py 第 375-376 行
# Instantiate the pxssh sub-class
super (PxsshSession, self).__init__(timeout=self.timeout,
maxread=self.maxread,
searchwindowsize=self.searchwindowsize,
logfile=self.logfile,
options=self.options,
ignore_sighup=self.ignore_sighup,
cwd=self.cwd,
env=self.env)
看来 pexpect 4.0.1 中引入的更改解决了我遇到的问题,但是,我仍然无法确定该更改是什么。 GITHUB 有一个为 4.0.1 创建的标签,但没有正式发布,也没有发布说明。 4.1.0 的官方发行说明似乎没有暗示任何与 "options" 作为参数添加或删除有关的事情。但很明显,除了 pexpect 4.0.1 之外的任何东西都可以解决这个问题。
我从 python 脚本中收到错误。错误如下所示。在进一步的源代码中,我有来自 session.py 的 python 脚本片段和来自问题行周围的 ssh_session.py 。根据错误,似乎参数选项被赋予了由 super 表示的 class,其中 class 不知道参数选项。棘手的是,尽管这是我第一次使用这套脚本,但我知道其他人一直都在成功地使用这套脚本。所以我开始想,也许我有一个与 python 模块相关的版本问题。任何人都可以阐明错误的性质,其中 __init__ 会在意外的关键字参数上大声疾呼,而它似乎对其他所有人都有效?如果是模块问题,我怎么知道参数何时或在哪个版本中出现或被删除?
2017-03-17 16:23:36,303-07 ERROR - File "/home/rmaes/.local/lib/python2.7/site-packages/ctf/ssh_session.py", line 92, in __init__
2017-03-17 16:23:36,303-07 ERROR - interactOnFailure=interactOnFailure, verbose=verbose, logLevel=logLevel)
2017-03-17 16:23:36,303-07 ERROR - File "/home/rmaes/.local/lib/python2.7/site-packages/ctf/session.py", line 376, in __init__
2017-03-17 16:23:36,303-07 ERROR - env=self.env)
2017-03-17 16:23:36,303-07 ERROR - TypeError: __init__() got an unexpected keyword argument 'options'
2017-03-17 16:23:36,303-07 ERROR - End traceback.
2017-03-17 16:23:36,304-07 INFO - END ANCILLARY "_testRunSuite"
2017-03-17 16:23:36,304-07 INFO - Exception forces exit because exit-on-error is True.
ssh_session 第 92 行
super (Ssh, self).__init__(timeout=timeout, maxread=maxread,
searchwindowsize=searchwindowsize, logfile=logfile, cwd=cwd, env=env,
ignore_sighup=ignore_sighup, echo=echo, options=options,
encoding=encoding, codec_errors=codec_errors,
interactOnFailure=interactOnFailure, verbose=verbose, logLevel=logLevel)
def login (self, host, username, password='', terminal_type='ansi',
original_prompt=r"[#$]", login_timeout=10, port=22,
auto_prompt_reset=True, ssh_key=None, quiet=True,
sync_multiplier=1, check_local_ip=True):
session.py 第 375-376 行
# Instantiate the pxssh sub-class
super (PxsshSession, self).__init__(timeout=self.timeout,
maxread=self.maxread,
searchwindowsize=self.searchwindowsize,
logfile=self.logfile,
options=self.options,
ignore_sighup=self.ignore_sighup,
cwd=self.cwd,
env=self.env)
看来 pexpect 4.0.1 中引入的更改解决了我遇到的问题,但是,我仍然无法确定该更改是什么。 GITHUB 有一个为 4.0.1 创建的标签,但没有正式发布,也没有发布说明。 4.1.0 的官方发行说明似乎没有暗示任何与 "options" 作为参数添加或删除有关的事情。但很明显,除了 pexpect 4.0.1 之外的任何东西都可以解决这个问题。