有馬総一郎のブログ

(彼氏の事情)

2022年01月10日 14:38:23 JST - 2 minute read - Linux

Git Colaが"ModuleNotFoundError: No module named 'cola'"のエラー吐いて起動できない

git-colaを起動しようとしたら、起動できない。端末から起動するとModuleNotFoundError: No module named 'cola'とエラーを吐いて起動できない。

$ git-cola
Traceback (most recent call last):
  File "/usr/bin/git-cola", line 40, in <module>
    from cola.main import main
ModuleNotFoundError: No module named 'cola'

ググると、簡単に答えが

How to fix “ModuleNotFoundError: No module named ‘cola’”

pip install cola。これでめでたしめでたし、と思いきや…

    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-uo0rxqxp/cola_787e9851c3824d5295b36f973c2a0621/setup.py'"'"'; __file__='"'"'/tmp/pip-install-uo0rxqxp/cola_787e9851c3824d5295b36f973c2a0621/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-gpspf5ri
         cwd: /tmp/pip-install-uo0rxqxp/cola_787e9851c3824d5295b36f973c2a0621/
    Complete output (9 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-uo0rxqxp/cola_787e9851c3824d5295b36f973c2a0621/setup.py", line 10, in <module>
        cola = __import__('cola')
      File "/tmp/pip-install-uo0rxqxp/cola_787e9851c3824d5295b36f973c2a0621/cola/__init__.py", line 25, in <module>
        VERSION = get_version_string()
      File "/tmp/pip-install-uo0rxqxp/cola_787e9851c3824d5295b36f973c2a0621/cola/__init__.py", line 21, in get_version_string
        if isinstance(version_tuple[-1], basestring):
    NameError: name 'basestring' is not defined
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/2d/11/4456bfdf9e2000d19d903739028ad5c668827d22f91193838a7c0e856c9f/Cola-0.1.0.tar.gz#sha256=0950e45ac291b832bd43eb2d669c3b4d07428e3be16f59d9962aba9a67419f26 (from https://pypi.org/simple/cola/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement cola
ERROR: No matching distribution found for cola
ERROR: Could not find a version that satisfies the requirement cola

なぬ。

[Python]特定バージョンのライブラリがインストールできない

を参考に Cola · PyPIを見ると

Python version: None

となっている。

うーん、Pythonのバージョンを下げてみることとした。 Arch Linux のパッケージのダウングレードは downgrade コマンドを使うとすごく楽。 - 全力で怠けたいを参考とした。

yas -S downgradeでインストール。そして、sudo downgrade pythonをして 3.9.7 次に 3.8.6 に下げてみた。

下げてpip install colaするとsudo apt install python-pyqt5 python-pyqt5.qtwebkitしろ、みたいなエラーが出た。なのでsudo pacman -S python-pyqt5 python-pyqt5.qtwebkitしてもパッケージなし。

yay -S git-colaで再インストールしようとするとimportlib.metadata.PackageNotFoundError: Sphinxでエラーになる。

もう諦めて、sudo pacman -S pythonで元のバージョンに戻す。そしてyay -S git-colaで再インストール。

ダウングレードする前に再インストールしても、ModuleNotFoundError: No module named 'cola'というエラーは解消されなかったのに…まさかの起動が成功。

Versionは 3.11

git-cola

どういうことだがさっぱり分からんが一応残しておく。だけど、python依存のアプリやめて他のgitクライアントに乗り換えようか検討中。