mycroft-core Picroft mycroft-msk在git库上导入错误

nzrxty8p  于 3个月前  发布在  Git
关注(0)|答案(7)|浏览(90)

描述bug

当我尝试在Picroft上运行mycroft-msk时,我遇到了一个导入错误:

Traceback (most recent call last):
  File "/home/pi/mycroft-core/.venv/bin/msk", line 5, in <module>
    from msk.__main__ import main
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/msk/__main__.py", line 23, in <module>
    from msk.actions.create import CreateAction
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/msk/actions/create.py", line 34, in <module>
    from msk.console_action import ConsoleAction
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/msk/console_action.py", line 21, in <module>
    from msk.global_context import GlobalContext
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/msk/global_context.py", line 23, in <module>
    from msk.util import ask_for_github_token
  File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/msk/util.py", line 25, in <module>
    from git.config import GitConfigParser, get_config_path
ImportError: cannot import name 'get_config_path' from 'git.config' (/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/git/config.py)

重现问题

重现问题的步骤:

  1. 使用文档中的最新镜像在树莓派4上安装Picroft
  2. 从命令行执行mycroft-msk

预期行为

我应该看到向导创建技能模板。

环境(请填写以下信息):

  • 设备类型:树莓派4
  • 操作系统:Picroft
  • Mycroft-core版本:21.2.2
    附加上下文

这是通过文档中提供的Picroft镜像进行的干净安装。

djp7away

djp7away1#

啊,看起来这是由于 #48 引起的。这个解决方法解决了我的问题。

7vhp5slm

7vhp5slm2#

很高兴尝试关闭,只是不确定在哪里。这个仓库中的requirements.txt需要更新吗,还是Picroft镜像在其他地方构建?

uemypmqf

uemypmqf3#

嗨,这个有点棘手。msk setup.py 需要 gitpython 模块至少是 3.0.5 版本,但不知何故,它没有被 pip 尊重。
我们可以尝试进一步升级(现在是 3.1.27,所以可能已经到了升级的时候了),但我不确定问题的根源。
如果你觉得值得一试:

  • mycroft-skills-kit repo 中更新 setup.py(并增加版本号)
  • 合并并发布后,在 this repo 的 requirements/requirements.txt 中增加对 mycroft-skills-kit 的要求

就像我说的,我们从未完全弄清楚为什么它没有在 picroft 镜像上更新到预期的版本,所以这可能是正确的解决方案,也可能是错误的。 :)

axzmvihb

axzmvihb4#

我正在尝试开发一项新技能,但遇到了这个错误。我已经通过遵循文档设置了我的技能,并以另一个技能为例,但我想在我的mycroft(picroft)示例上测试它。有什么最好的解决方法吗?

vwoqyblh

vwoqyblh5#

我认为最简单的解决方法是运行 mycroft-pip install gitpython==3.0.5

fykwrbwg

fykwrbwg6#

啊 -完美!我试过除了mycroft-前缀之外的其他情况,但那导致了一些其他问题。我是不是做错了什么,还是mycroft-pippip有不同的功能?

hgqdbh6s

hgqdbh6s7#

mycroft-pip确保将包安装在正确的虚拟环境中。没有mycroft-的Pip可能会尝试在系统软件包中安装,这可能会导致问题,需要使用sudo,并且mycroft虚拟环境中的软件包优于其他软件包。
如果激活了mycroft虚拟环境,Pip可能可以正常工作,但始终应该使用mycroft-pip来确保正确操作。

相关问题