ValueError: Key font.fantasy: Attempted relative import in non-package in Mercurial
ValueError: Key font.fantasy: Attempted relative import in non-package in Mercurial
我正在使用 mercurial,它在我的电脑上运行了很长时间。然而,当我今天使用它时,我收到以下错误消息:
汞
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.12 (default, Jul 1 2016, 15:12:24) [GCC 5.4.0 20160609]
** Mercurial Distributed SCM (version 4.0.2)
** Extensions loaded:
Traceback (most recent call last):
File "/usr/local/bin/hg", line 45, in <module>
mercurial.dispatch.run()
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 60, in run
sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 126, in dispatch
ret = _runcatch(req)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 216, in _runcatch
return callcatch(ui, _runcatchfunc)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 225, in callcatch
return func()
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 158, in _runcatchfunc
'pdb' : pdb.set_trace
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 152, in __getattribute__
self._load()
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 100, in _load
mod = _hgextimport(_import, head, globals, locals, None, level)
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 53, in _hgextimport
return importfunc(name, globals, *args, **kwargs)
File "/usr/local/bin/pdb.py", line 6, in <module>
exec(compile(open(__file__).read(), __file__, 'exec'))
File "/home/student/Documents/ven_python3/basekit/scripts/pdb.py", line 5, in <module>
from basekit.utils.tool import parse_subargs
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 260, in _demandimport
mod = _hgextimport(_origimport, name, globals, locals)
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 53, in _hgextimport
return importfunc(name, globals, *args, **kwargs)
File "/home/student/repos/basekit/basekit/__init__.py", line 4, in <module>
matplotlib.use( "Agg" )
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 152, in __getattribute__
self._load()
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 100, in _load
mod = _hgextimport(_import, head, globals, locals, None, level)
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 53, in _hgextimport
return importfunc(name, globals, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/matplotlib-2.0.0b4-py2.7-linux-x86_64.egg/matplotlib/__init__.py", line 1170, in <module>
rcParams = rc_params()
File "/usr/local/lib/python2.7/dist-packages/matplotlib-2.0.0b4-py2.7-linux-x86_64.egg/matplotlib/__init__.py", line 1013, in rc_params
return rc_params_from_file(fname, fail_on_error)
File "/usr/local/lib/python2.7/dist-packages/matplotlib-2.0.0b4-py2.7-linux-x86_64.egg/matplotlib/__init__.py", line 1146, in rc_params_from_file
if key not in _all_deprecated])
File "/usr/local/lib/python2.7/dist-packages/matplotlib-2.0.0b4-py2.7-linux-x86_64.egg/matplotlib/__init__.py", line 897, in __init__
self[k] = v
File "/usr/local/lib/python2.7/dist-packages/matplotlib-2.0.0b4-py2.7-linux-x86_64.egg/matplotlib/__init__.py", line 916, in __setitem__
raise ValueError("Key %s: %s" % (key, str(ve)))
ValueError: Key font.fantasy: Attempted relative import in non-package
我不确定我是如何导致此错误的,我在某些 python 不是 python2.7 而是 python3.5 的虚拟环境中安装了 mercurial。这可能是这个错误的原因吗?
但是,我从我的系统中删除了 mercurial 并重新安装了它。奇怪的是,如果我通过 pip 安装,我会收到上述错误消息。如果我使用 apt-get install 我会收到消息:
abort: couldn't find mercurial libraries in [/usr/bin
所以,我现在的问题是:如何让 mercurial 再次工作?
提前致谢。
如果你阅读回溯,你会看到它在 matplotlib
中失败了,这对我来说很奇怪:为什么 mercurial 需要 matplotlib?
谷歌搜索 "mercurial matplotlib" 我发现许多帖子都有与您类似的问题。事实证明,matplotlib 是 activity extension.
的依赖项
所以我认为解决方法是在您的 Mercurial 配置文件中禁用该扩展(hg config --edit
将在默认编辑器中打开配置文件)。然后找到以activity=
开头的行,注释掉
如果你真的需要那个扩展,因为它没有随 mercurial 一起分发,你可能只需要将源更新到更新的版本(配置文件将指向包含克隆的目录扩展的 repo,然后你必须 hg pull -u
在该目录中),或者你可以 google 更多关于 "mercurial activity" 并查看状态是什么。
请注意,上面关于 Mercurial 不支持 Python 3 的评论具有误导性,因为您粘贴的输出显示它使用的是 Python 2.7.
编辑
使用 hg config --edit
编辑配置文件将失败,因为错误是在配置文件本身中触发的。
您可以直接编辑配置文件。从您粘贴的输出来看,您使用的是 Unix 系统,因此用户配置文件将为 $HOME/.hgrc
.
我正在使用 mercurial,它在我的电脑上运行了很长时间。然而,当我今天使用它时,我收到以下错误消息:
汞
** unknown exception encountered, please report by visiting
** https://mercurial-scm.org/wiki/BugTracker
** Python 2.7.12 (default, Jul 1 2016, 15:12:24) [GCC 5.4.0 20160609]
** Mercurial Distributed SCM (version 4.0.2)
** Extensions loaded:
Traceback (most recent call last):
File "/usr/local/bin/hg", line 45, in <module>
mercurial.dispatch.run()
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 60, in run
sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 126, in dispatch
ret = _runcatch(req)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 216, in _runcatch
return callcatch(ui, _runcatchfunc)
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 225, in callcatch
return func()
File "/usr/local/lib/python2.7/dist-packages/mercurial/dispatch.py", line 158, in _runcatchfunc
'pdb' : pdb.set_trace
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 152, in __getattribute__
self._load()
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 100, in _load
mod = _hgextimport(_import, head, globals, locals, None, level)
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 53, in _hgextimport
return importfunc(name, globals, *args, **kwargs)
File "/usr/local/bin/pdb.py", line 6, in <module>
exec(compile(open(__file__).read(), __file__, 'exec'))
File "/home/student/Documents/ven_python3/basekit/scripts/pdb.py", line 5, in <module>
from basekit.utils.tool import parse_subargs
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 260, in _demandimport
mod = _hgextimport(_origimport, name, globals, locals)
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 53, in _hgextimport
return importfunc(name, globals, *args, **kwargs)
File "/home/student/repos/basekit/basekit/__init__.py", line 4, in <module>
matplotlib.use( "Agg" )
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 152, in __getattribute__
self._load()
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 100, in _load
mod = _hgextimport(_import, head, globals, locals, None, level)
File "/usr/local/lib/python2.7/dist-packages/mercurial/demandimport.py", line 53, in _hgextimport
return importfunc(name, globals, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/matplotlib-2.0.0b4-py2.7-linux-x86_64.egg/matplotlib/__init__.py", line 1170, in <module>
rcParams = rc_params()
File "/usr/local/lib/python2.7/dist-packages/matplotlib-2.0.0b4-py2.7-linux-x86_64.egg/matplotlib/__init__.py", line 1013, in rc_params
return rc_params_from_file(fname, fail_on_error)
File "/usr/local/lib/python2.7/dist-packages/matplotlib-2.0.0b4-py2.7-linux-x86_64.egg/matplotlib/__init__.py", line 1146, in rc_params_from_file
if key not in _all_deprecated])
File "/usr/local/lib/python2.7/dist-packages/matplotlib-2.0.0b4-py2.7-linux-x86_64.egg/matplotlib/__init__.py", line 897, in __init__
self[k] = v
File "/usr/local/lib/python2.7/dist-packages/matplotlib-2.0.0b4-py2.7-linux-x86_64.egg/matplotlib/__init__.py", line 916, in __setitem__
raise ValueError("Key %s: %s" % (key, str(ve)))
ValueError: Key font.fantasy: Attempted relative import in non-package
我不确定我是如何导致此错误的,我在某些 python 不是 python2.7 而是 python3.5 的虚拟环境中安装了 mercurial。这可能是这个错误的原因吗? 但是,我从我的系统中删除了 mercurial 并重新安装了它。奇怪的是,如果我通过 pip 安装,我会收到上述错误消息。如果我使用 apt-get install 我会收到消息:
abort: couldn't find mercurial libraries in [/usr/bin
所以,我现在的问题是:如何让 mercurial 再次工作?
提前致谢。
如果你阅读回溯,你会看到它在 matplotlib
中失败了,这对我来说很奇怪:为什么 mercurial 需要 matplotlib?
谷歌搜索 "mercurial matplotlib" 我发现许多帖子都有与您类似的问题。事实证明,matplotlib 是 activity extension.
的依赖项所以我认为解决方法是在您的 Mercurial 配置文件中禁用该扩展(hg config --edit
将在默认编辑器中打开配置文件)。然后找到以activity=
开头的行,注释掉
如果你真的需要那个扩展,因为它没有随 mercurial 一起分发,你可能只需要将源更新到更新的版本(配置文件将指向包含克隆的目录扩展的 repo,然后你必须 hg pull -u
在该目录中),或者你可以 google 更多关于 "mercurial activity" 并查看状态是什么。
请注意,上面关于 Mercurial 不支持 Python 3 的评论具有误导性,因为您粘贴的输出显示它使用的是 Python 2.7.
编辑
使用 hg config --edit
编辑配置文件将失败,因为错误是在配置文件本身中触发的。
您可以直接编辑配置文件。从您粘贴的输出来看,您使用的是 Unix 系统,因此用户配置文件将为 $HOME/.hgrc
.