当前位置: 首页 > 知识库问答 >
问题:

OSError:[WinError 87]参数不正确

隗昀
2023-03-14

试图在windows 10中运行python fabric 2

from fabric import task,SerialGroup,Connection
import os

USERNAME = os.getenv('USERNAME')
my_hosts = ["hostname"]
c = Connection(host="rg@host.com",connect_kwargs={"password":"abcd"})
@task
def test(c):
    print(USERNAME)
    c.run("echo hello")

给出以下错误

回溯(最后一次调用):
文件“c:\users\rg\programs\python\python38\lib\runpy.py”,第194行,在\u run\u模块\u as\u main中
返回\u run\u代码(代码,main\u globals,None,文件“c:\users\rg\programs\python\python38\lib\runpy.py”,第87行,在执行(代码,run\u globals)文件“c:\users\rg\programs\python38\Scripts\fab.exe\u main.py py“,第7行,在文件“c:\users\rg\programs\python\python38\lib\site packages\invoke\program.py”第384行的run self中。execute()文件“c:\users\rg\programs\python\python38\lib\site packages\invoke\program.py”,第566行,在execute执行器中。执行(*self.tasks)文件“c:\users\rg\programs\python\python38\lib\site packages\invoke\executor.py”,第129行,执行结果=调用。任务(*args,**call.kwargs)文件“c:\users\rg\programs\python\python38\lib\site packages\invoke\tasks.py”,第127行,在call
result=self中。正文(*args,**kwargs)文件“C:\Users\rg\Documents\Solr\python\U scripts\Solr\fabfiles\fabfile.py”,第10行,在测试中,C.run(“echo hello”)文件“C:\Users\rg\programs\python\python38\lib\site packages\invoke\context.py”,第95行,在运行时返回self_运行(runner,command,**kwargs)文件“c:\users\rg\programs\python38\lib\site packages\invoke\context.py”,第102行,返回runner。运行(命令,**kwargs)文件“c:\users\rg\programs\python\python38\lib\site packages\invoke\runners.py”,第363行,在run中返回self_运行\u body self中的\u body(命令,**kwargs)文件“c:\users\rg\programs\python\python38\lib\site packages\invoke\runners.py”,第411行。start(命令,self.opts[“shell”],self.env)文件“c:\users\rg\programs\python\python38\lib\site packages\invoke\runners.py”,第1271行,位于start self中。process=Popen(文件“c:\users\rg\programs\python\python38\lib\subprocess.py”,第858行,在init
self中。\u execute\u child(args,execute,preexec\u fn,close\u fds,文件“c:\users\rg\programs\python\python38\lib\subprocess.py”,第1311行,在\u execute\u child中,hp,ht,pid,tid=\u winapi。CreateProcess(execute,args,OSError:[WinError 87]参数不正确

共有1个答案

吴正祥
2023-03-14

这是结构中的一种错误(从2.6.0开始),请参阅此处的讨论:
https://github.com/fabric/fabric/issues/2142

显然,它在Python 3.8或3.9中出现,但在3.6或3.7中没有出现。

要绕过它,您可以使用c.run("echhello",replace_env=False)

这对于本地调用没有问题,但对于远程调用可能会有问题,因为这意味着远程会话将看到本地会话的所有环境变量值(其中一些可能是敏感的)。

 类似资料:
  • 我正在用真正的ios设备在mac上测试我的应用程序。当我运行脚本时,它会在Eclipse IDE中显示以下错误:, org.openqa.selenium.无法创建新的远程会话。所需的功能=功能[{app=/用户//下载/XXX. ipa, platformVersion=10.2.1, platformName=iOS, deviceName=Mr. x'S iPod Touch, UDID=*

  • Intellij告诉我的参数类型不正确。我不熟悉这个错误和。 这个错误还表明: 检查参数@PathParam、@QueryParam等的类型。带批注的参数、字段或属性的类型必须是 > 成为主要类型 有一个接受单个字符串参数的构造函数 具有一个名为 valueOf 或 formString 的静态方法,该方法接受单个 String 参数(例如,请参阅 Integer.valueOf(String))

  • 我有一个GET请求电话,如下所示 参数类型错误 下面是请求类: 我不确定我为什么会得到这个。以下是我的IDE的建议。 成为原始类型 有一个接受单个String参数的构造函数 有一个名为valueOf或fromString的静态方法,它接受一个String参数(例如,请参见Integer.valueOf(String)) 具有ParamConverterProvider JAX-RS扩展SPI的注册

  • 问题内容: 我从这行得到错误 我栏中的日期格式为md-yy 我需要将其转换为其他格式吗?如果可以,怎么办? 使用MariaDB 问题答案: 根据MariaDB的文档,仅采用 两个 参数: 句法 描述 返回 值,以从一个日期到另一个日期的天数表示。和 是日期或日期和时间表达式。在计算中仅使用值的日期部分。

  • 我很难让海运色调按价值着色。我的数据是在一个熊猫df和我使用的barplod。

  • 问题内容: 这段代码: 产生此错误: OPTable是一个字母数字字符串,它是从另一个数据库查询中构建的,该数据库查询包含我要从中选择的表名。 以下代码在同一脚本中也可以正常工作。 我猜想以这种方式构建sql语句并没有什么大不了的,但是我只是不明白为什么它不接受??参数。我什至在使用?的同一脚本中还有另一个查询。参数化并可以正常工作。但是,使用raw_input函数生成用于工作查询的参数。这两个字