【问题标题】:Python Circular Import Module _gi causes apt-add-repository command to fail in linuxPython 循环导入模块 _gi 导致 apt-add-repository 命令在 linux 中失败
【发布时间】:2020-08-03 04:58:52
【问题描述】:

我今天尝试添加存储库时发现一个我似乎无法解决的奇怪错误。

我正在尝试执行此命令

sudo apt-add-repository ppa:fish-shell/release-3

当它总是返回这个错误信息时

Traceback (most recent call last):
  File "/usr/bin/apt-add-repository", line 11, in <module>
    from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 67, in <module>
    from gi.repository import Gio
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 42, in <module>
    from . import _gi
ImportError: cannot import name '_gi' from partially initialized module 'gi' (most likely due to a circular import) (/usr/lib/python3/dist-packages/gi/__init__.py)

我试过用这个命令诊断它

 sudo update-alternatives --config python3

它显示了这个

There is only one alternative in link group python3 (providing /usr/bin/python3): /usr/bin/python3.8
Nothing to configure.

我也试过去 /usr/lib/python3/dist-packages/gi 并使用此命令在此处添加符号链接

sudo ln -s _gi.cpython-{36m,37m}-x86_64-linux-gnu.so

还是不行

我已尝试将正确的 python 版本添加到 /usr/bin/apt-add-repository

我也试过

python3 -m pip install gi
  Could not find a version that satisfies the requirement gi (from versions: )
No matching distribution found for gi

如何解决这个恼人的错误?

【问题讨论】:

    标签: python-3.x linux terminal apt


    【解决方案1】:

    完成:

    sudo apt-get install graphviz
    

    还有代码:

    import objgraph
    import random
    import io
    from graphviz import Source
    from io import StringIO
    
    q = StringIO()
    
    #objgraph.show_refs([SAFE_TAGS], output=s)
    
    objgraph.show_chain(
        objgraph.find_backref_chain(
            random.choice(objgraph.by_type('dict')),
            objgraph.is_proper_module),
        output=q)
    
    q.seek(0)
    Source(q.read())
    

    chart

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-02
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多