【问题标题】:Bees with Machine Guns syntax error involving paramiko. (self._close(async=True))Bees with Machine Guns 涉及 paramiko 的语法错误。 (self._close(async=True))
【发布时间】:2018-07-03 15:47:24
【问题描述】:

我正在尝试使用机关枪设置蜜蜂,并注意到无论蜜蜂的命令如何,我都会在 paramiko 库中遇到语法错误:

File "/usr/local/lib/python3.7/site-packages/paramiko/sftp_file.py", line 66
self._close(async=True)
                ^
SyntaxError: invalid syntax

关于如何处理这个问题的想法?/如何让带有机枪的蜜蜂运行?我在看https://gist.github.com/mattheworiordan/1892979,但我认为这不是同一个问题。

【问题讨论】:

    标签: python amazon-web-services boto paramiko


    【解决方案1】:

    async 是 python 3.5+ 中的关键字。当您在 python 3.7 中运行此代码时,将值分配给关键字会引发语法错误。如果您在 2.7 中运行此代码,它会正常工作。

    这行似乎不在最新版本的paramiko 中,它将这个变量重命名为async_

    def _close(self, async_=False):
        # We allow double-close without signaling an error, because real
    

    只需将paramiko 升级到最新版本即可解决您的问题:

    sudo pip install -U paramiko 
    

    【讨论】:

    • 不幸的是,我无法升级 paramiko,因为 Bees with Machine Guns 使用的是特定版本。但是我实际上通过进入那个 paramiko python 文件并将 async 更改为 async_ 来修复它,所以感谢您对关键字更改的提醒!
    • 我会谨慎使用您在 python 3.7 中使用的 paramkio 版本,因为这只是众多重大更改之一。如果你绝对不能升级它,你应该确保对它进行广泛的测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 2018-08-21
    相关资源
    最近更新 更多