64 ビットの Ubuntu 10.04 システムを使用していましたがubuntu-desktop
、ログインを拒否する問題が発生しました。そこで、同じユーザー名を維持しながら、DVD の ISO イメージを使用して Ubuntu 12.04 32 ビット システムをインストールしました。インストール中は、以前のシステムのパーティションを再利用し、データをそのまま維持するために同じユーザー名を選択しました/home
。
mercurial
Ubuntu 12.04 にインストールしましたsudo apt-get
が、実行するとこのスタック トレースが表示されます。Mercurial が以前の 64 ビット システムにアクセスしようとしているのは確かです。なぜなら、/usr/local/lib/
2.6 と 2.7 という 2 つの Python インストールがあることがわかったからです。
これを修正するには助けが必要です。
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 66, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 95, in _demandimport
return _import(name, globals, locals, fromlist, level)
File "/usr/lib/python2.7/dist-packages/apport/__init__.py", line 1, in <module>
from apport.report import Report
File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 114, in _demandimport
mod = _origimport(name, globals, locals)
File "/usr/lib/python2.7/dist-packages/apport/report.py", line 155, in <module>
class Report(problem_report.ProblemReport):
File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 86, in __getattribute__
self._load()
File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 58, in _load
mod = _origimport(head, globals, locals)
File "/usr/lib/python2.7/dist-packages/problem_report.py", line 93, in <module>
class ProblemReport(UserDict):
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
Original exception was:
Traceback (most recent call last):
File "/usr/local/bin/hg", line 36, in <module>
mercurial.util.setbinary(fp)
File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 86, in __getattribute__
self._load()
File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 58, in _load
mod = _origimport(head, globals, locals)
File "/usr/local/lib/python2.6/dist-packages/mercurial/util.py", line 67, in <module>
statfiles = getattr(osutil, 'statfiles', platform.statfiles)
File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 86, in __getattribute__
self._load()
File "/usr/local/lib/python2.6/dist-packages/mercurial/demandimport.py", line 58, in _load
mod = _origimport(head, globals, locals)
ImportError: /usr/local/lib/python2.6/dist-packages/mercurial/osutil.so: wrong ELF class: ELFCLASS64
答え1
さて、答えを見つけました。フォルダ/usr/local/lib/python2.6
を削除しましたpython2.7
。場所をコピーし/usr/lib/python2.6
てpython2.7
上書きしました/usr/local/lib/
。これでうまくいきました。
cp -Rp /usr/lib/python2.6 /usr/local/lib/
cp -Rp /usr/lib/python2.7 /usr/local/lib/