Folding@Home FAHControl이 시작되지 않습니다(Python3 오류).

Folding@Home FAHControl이 시작되지 않습니다(Python3 오류).

Folding@Home 제어 프로그램의 이름은 FAHControl(여기에서 다운로드됨)은 다음 Python 오류로 시작되지 않습니다.

$ FAHControl

Traceback (most recent call last):
  File "/usr/bin/FAHControl", line 25, in <module>
    from fah import FAHControl, load_fahcontrol_db
  File "/usr/lib/python3/dist-packages/fah/__init__.py", line 25, in <module>
    from . import util
  File "/usr/lib/python3/dist-packages/fah/util/__init__.py", line 24, in <module>
    from .OrderedDict import *
  File "/usr/lib/python3/dist-packages/fah/util/OrderedDict.py", line 23, in <module>
    from collections import MutableMapping as DictMixin
ImportError: cannot import name 'MutableMapping' from 'collections' (/usr/lib/python3.10/collections/__init__.py)

저는 Linux Mint 21.3 Cinnamon(Ubuntu 22.04 기반)을 사용하고 있습니다. 해결책이 있나요?

답변1

무슨 일이 있었고 언제 일어났는가

3.10+ Python 버전에서는 변경된 것 같습니다. 그러나 이력에 관심이 없다면 해결책은 실제로 매우 간단합니다.수업, 아래 솔루션으로 이동하세요.

Python 매뉴얼에 명시된 바와 같이:

collections.abc또는컨테이너의 추상 기본 클래스버전 3.3의 새로운 기능인 이 모듈은 이전에 모듈의 일부였습니다 collections. 같은 매뉴얼의 버전 3.9에서 나는 이 기능이 더 이상 사용되지 않는 시기와 프로그래머가 코드를 조정해야 하도록 제거된 시기에 대한 정보를 찾았습니다.

버전 3.3부터 더 이상 사용되지 않으며 버전 3.10에서 제거됩니다. 컬렉션 추상 기본 클래스를 collections.abc 모듈로 이동했습니다. 이전 버전과의 호환성을 위해 Python 3.9의 이 모듈에서 계속 표시됩니다.


간단한 해결책

원하는 텍스트 편집기를 사용하여 루트로 다음 파일을 편집하기만 하면 됩니다.

/usr/lib/python3/dist-packages/fah/util/OrderedDict.py

23번째 줄을 변경하세요:

따라서

from collections import MutableMapping as DictMixin

이와 관련하여

from collections.abc import MutableMapping as DictMixin

저장하고 다시 시도해 보세요.

FAHControl지금 내 편에서 시작해 보세요. 이 솔루션은 철저한 테스트를 거쳐 작동합니다(적어도 내 시스템에서는).


FAHControl 및 FAHClient 작동의 일부 스크린샷(http://127.0.0.1:7396/):

FAHControl(확대하려면 클릭):

FAH 제어

FAHClient(확대하려면 클릭):

FAH 클라이언트

관련 정보