小编use*_*295的帖子

可以从终端而不是从 VS Code 推/拉,错误:c:\\ ...\askpass.sh 第 3 行:C:\...Code.exe:找不到命令;致命:身份验证失败

正如标题所示,我的本地网络上有一个私有 git 存储库,并且可以从 VS Code 之外的终端推/拉没有问题,但是当我从集成终端 (PowerShell) 尝试时,我收到此错误:

c:\Users\Artyt\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\git\dist\askpass.sh: line 3: C:\Users\Artyt\AppData\Loc\AppData\Local\Programs\Microsoft VS Code\Code.exe: command not found
c:\Users\Artyt\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\git\dist\askpass.sh: line 3: C:\Users\Artyt\AppData\Loc\AppData\Local\Programs\Microsoft VS Code\Code.exe: command not found
fatal: Authentication failed for 'https://myprivateLocalRepo'
Run Code Online (Sandbox Code Playgroud)

我尝试搜索,但似乎找不到此错误的问题。

当我运行时,git config credential.helper我得到“manager-core”并尝试运行git config --global credential.helper wincred但似乎没有帮助。

根据下面的附加信息,我认为C:\Users\Artyt\AppData\Loc\AppData\Local\Programs\Microsoft VS Code\Code.exe应该进行评估,C:\Users\Artyt\AppData\Local\Programs\Microsoft VS Code\Code.exe因为我在该文件夹/目录中有一个 Code.exe,但我不确定如何让它进行评估。

任何帮助是极大的赞赏。这不是一个严重的问题,因为我可以从外部终端使用 git,但如果能得到解决那就太好了。

附加信息 :

文件夹/目录C:\Users\Artyt\AppData\Loc不存在

c:\Users\Artyt\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\git\dist\askpass.sh

#!/bin/sh
VSCODE_GIT_ASKPASS_PIPE=`mktemp`
ELECTRON_RUN_AS_NODE="1" VSCODE_GIT_ASKPASS_PIPE="$VSCODE_GIT_ASKPASS_PIPE" "$VSCODE_GIT_ASKPASS_NODE" "$VSCODE_GIT_ASKPASS_MAIN" $*
cat $VSCODE_GIT_ASKPASS_PIPE
rm $VSCODE_GIT_ASKPASS_PIPE
Run Code Online (Sandbox Code Playgroud)

git

5
推荐指数
1
解决办法
5779
查看次数

将附加参数传递给仅需要 1 的回调对象

所以我正在开发一个小项目,我正在使用 websocket 客户端库,为了创建一个WebSocketApp处理 websocket 连接的对象,您可以使用类似的方法实例化该对象

ws = websocket.WebSocketApp(uri, on_open=on_open, on_message=on_message, on_ping=on_ping)
Run Code Online (Sandbox Code Playgroud)

现在我有一个名为on_message回调函数(对象?)的函数,它处理传入的消息,或者更确切地说如何处理它们,并且ws当完整消息传入时(显然)由我创建的对象调用。 on_message被定义为实例化对象时的回调WebSocketApp

on_message 是这样的

def on_message(ws, message):
    print(message)
Run Code Online (Sandbox Code Playgroud)

我想要的是这样的:

def on_message(ws, message, someList)
    somelist.append(message)
Run Code Online (Sandbox Code Playgroud)

我当然可以使用全局变量来引用我想要更新的对象(在本例中是一个列表),但这似乎不是正确的方法,如果我可以传递对该对象的引用,那就太好了我想在初始化WebSocketApp对象时进行更新,例如:

ws = websock.WebSocketApp(uri, on_message=on_message(ref_to_Obj), on_open=on_open, on_close=on_close)
Run Code Online (Sandbox Code Playgroud)

但显然这不起作用,因为我收到TypeError: on_message() missing 2 required positional arguments: 'message' and objRef'错误。

我不完全确定如何解决这个问题。我想到了子类化,但也不确定如何实现它。查看源代码,WebSocketApp它说它有 2 个参数,1)WebSocketApp类本身和 2)从服务器接收的 utf-8 数据。我从来没有传递这些,并且我假设库在创建它们时只是将这些引用传递出去,但是我如何重载它以包含其他参数?首先想到的是使用 *args 或 **kwargs 进行重载,但又不确定如何实现它。我之前问过,建议使用 lambda 函数,但我也不知道如何让它工作。

arguments overloading parameter-passing keyword-argument python-3.x

0
推荐指数
1
解决办法
1684
查看次数