微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

运行 dvc push 到 DAGsHub 时,Git bash 命令提示符挂起

如何解决运行 dvc push 到 DAGsHub 时,Git bash 命令提示符挂起

我在将带有 DVC 的文件推送到 DAGsHub 时遇到问题。

工作流程:

  • 我使用电子邮件注册了 DAGsHub。
  • 我创建了一个存储库并将其克隆到我的计算机上。
  • 我将文件添加到存储库并使用 DVC 和 Git 跟踪它们以跟踪指针文件
  • 运行 DVC push -r origin,它会询问我的密码。当我输入密码并按 Enter 键时 - 没有任何反应。

它一直在等待,甚至阻止我使用 Ctrl+C 取消操作。 我被迫手动关闭终端,打开一个新终端,结束任务管理器中的“Python”进程并删除 .dvc/tmp/lock 中的锁定文件

解决方法

简答

不要使用ask_password。 相反,通过运行一次将您的令牌保存在本地配置中:

dvc remote modify origin --local --unset ask_password
dvc remote modify origin --local password <--access token-->

dvc push -r origin 应该可以工作。

长答案

Git Bash 没有运行常规的 Windows 命令提示符,而是一个模拟的 Unix 风格的 bash 提示符。根据您问题中的信息,我无法确定,但这可能导致 DVC 使用的 msvcrt 包在 Windows 机器上提示密码失败/挂起。

可能有 3 种方法来处理这个问题:

  1. 从常规 Windows cmd 提示符运行 dvc pull
  2. 找到一种方法让 Git Bash 使用 winpty 包装 Python 调用 - 我对如何执行此操作不是 100% 肯定,但不使用 winpty 似乎是原因 msvcrt提示输入密码失败。
  3. 最简单的解决方案 - 不要使用 ask_password。 相反,通过运行一次将您的令牌保存在本地配置中:
    dvc remote modify origin --local --unset ask_password
    dvc remote modify origin --local password <--access token-->
    
    您可以通过单击 DVC 旁边的问号来获取您的访问令牌 远程 DAGsHub 存储库,然后单击“显示我的令牌”。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。