私はElementary OS 0.2(Ubuntu 12.04ベース)を実行しており、今日からパッケージをインストール/アップグレードしようとすると奇妙なエラーが表示されます。先ほど例を作成しました。
sudo apt-get update
うまくいくと、次のようになります。
sudo apt-get upgrade
次を返します。
Setting up idle-python2.7 (2.7.3-0ubuntu3.5) ...
Traceback (most recent call last):
File "/usr/lib/python2.7/compileall.py", line 16, in <module>
import struct
File "/usr/lib/python2.7/struct.py", line 1, in <module>
from _struct import *
ImportError: No module named _struct
dpkg: error processing idle-python2.7 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
idle-python2.7
E: Sub-process /usr/bin/dpkg returned an error code (1)
どうしたの?明らかに、これはパッケージに関連していますが、python
まだpython
問題なくスクリプトを実行できます。この問題をどのように解決できますか?
次へ追加
私が試した答えに提供されたアドバイスに従って:
sudo apt-get --reinstall install python python-support
これは次を返します。
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 2 reinstalled, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/192 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 864980 files and directories currently installed.)
Preparing to replace python 2.7.3-0ubuntu2.2 (using .../python_2.7.3-0ubuntu2.2_i386.deb) ...
Unpacking replacement python ...
Preparing to replace python-support 1.0.14ubuntu2 (using .../python-support_1.0.14ubuntu2_all.deb) ...
Unpacking replacement python-support ...
Processing triggers for man-db ...
Processing triggers for doc-base ...
Processing 1 changed doc-base file...
Registering documents with scrollkeeper...
Setting up idle-python2.7 (2.7.3-0ubuntu3.5) ...
Traceback (most recent call last):
File "/usr/lib/python2.7/compileall.py", line 16, in <module>
import struct
File "/usr/lib/python2.7/struct.py", line 1, in <module>
from _struct import *
ImportError: No module named _struct
dpkg: error processing idle-python2.7 (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up python (2.7.3-0ubuntu2.2) ...
Setting up python-support (1.0.14ubuntu2) ...
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site.py", line 548, in <module>
main()
File "/usr/local/lib/python2.7/site.py", line 530, in main
known_paths = addusersitepackages(known_paths)
File "/usr/local/lib/python2.7/site.py", line 266, in addusersitepackages
user_site = getusersitepackages()
File "/usr/local/lib/python2.7/site.py", line 241, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/usr/local/lib/python2.7/site.py", line 231, in getuserbase
USER_BASE = get_config_var('userbase')
File "/usr/local/lib/python2.7/sysconfig.py", line 516, in get_config_var
return get_config_vars().get(name)
File "/usr/local/lib/python2.7/sysconfig.py", line 449, in get_config_vars
import re
File "/usr/local/lib/python2.7/re.py", line 105, in <module>
import sre_compile
File "/usr/local/lib/python2.7/sre_compile.py", line 14, in <module>
import sre_parse
File "/usr/local/lib/python2.7/sre_parse.py", line 17, in <module>
from sre_constants import *
File "/usr/local/lib/python2.7/sre_constants.py", line 18, in <module>
from _sre import MAXREPEAT
ImportError: cannot import name MAXREPEAT
Errors were encountered while processing:
idle-python2.7
E: Sub-process /usr/bin/dpkg returned an error code (1)
だからこれはうまくいきません。
答え1
これを検索すると、試してみるいくつかの項目が表示されます。
Pythonの再インストール
このリンクを見つけました:Python 2.6を手動でビルドしてインストールした後、Python(2.7)が破損しました。。次のように再インストールすることをお勧めします。
$ sudo apt-get --reinstall install python python-support
ソフトウェアアップデートアプリケーションがインターネットを使用できることを確認してください
このリンクを見つけました:より多くのパッケージ依存関係の問題、新しくインストールした後は常に多くの問題が発生します。。
顔の手のひらアップデートマネージャ/設定Ubuntuソフトウェアタブに移動し、インターネットボタンからダウンロードできるすべての項目を再度有効にしました。
答え2
答え3
答えは簡単です。システムが正しく構成されていません。デフォルトのPythonパッケージをローカルにインストールしました。これはタブーです。配布リポジトリからデフォルトのバイナリPythonパッケージをインストールする必要があります。具体的には、Pythonのインストールとlib/python2.7/site.py
ファイルlib/python2.7/sysconfig.py
を探していますが、これらのファイルはディストリビューションに対応するDebian / Ubuntuのバージョンに応じて、デフォルトの/usr/local
Pythonパッケージの一部python2.7-minimal
または一部になる可能性があります。libpython2.7-minimal
とにかく解決策は簡単です。ローカルにインストールされているデフォルトのPythonパッケージを削除し、展開からデフォルトのPythonパッケージをインストールします。あなたのディストリビューションでそのソフトウェアが利用できない場合、それからローカルにインストールしてください。パッケージを使用しない場合、ディストリビューションの使用には実際には意味がありません。
何ですか
apt-cache policy python2.7-minimal libpython2.7-minimal python2.7
説明する?それらの2つしなければならないあなたのシステムにインストールされました。