「ImportError:_structという名前のモジュールはありません」python-minimalの設定


10

を実行するsudo apt-get upgradeと、dpkgエラーが表示され、プロセスが中断されます。

エラーの詳細:

Setting up python-minimal (2.7.3-0ubuntu7.1) ...
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/lib/python2.7/compileall.py", line 16, in <module>
    import struct
  File "/usr/local/lib/python2.7/struct.py", line 1, in <module>
    from _struct import *
ImportError: No module named _struct
dpkg: error processing python-minimal (--configure):
 subprocess installed post-installation script returned error exit status 255
dpkg: dependency problems prevent configuration of python:
 python depends on python-minimal (= 2.7.3-0ubuntu7.1); however:
  Package python-minimal is not configured yet.

また、この問題は、次のパッケージを処理するときに一連の依存関係の問題を引き起こします。

 python
 gwibber-service
 libgwibber3
 libgwibber-gtk3
 gwibber
 gwibber-service-facebook
 gwibber-service-identica
 gwibber-service-twitter
 python-all
 python-dev
 python-all-dev
 python-apt
 python-problem-report
 python-apport
 python-libxml2
 unity-lens-gwibber
 unity-scope-video-remote

最後に、この問題に対して私ができることは何もない。そして数日後、ルートディレクトリがいっぱいになり、この問題のためにソフトウェアをアンインストールできませんでした。



@ブレアム、私は以前にこの質問を見つけました。答えはpythonを再インストールすることをお勧めします。私は試しましたが失敗しました。とにかくありがとう!
Java Xu

sudo apt-get cleanはスペースを取り戻すのに役立ちます
frlan

/usr/bin/pythonシンボリックリンクを指すように変更したところpython3.5、これと非常によく似たエラーが発生しました。python2.7なぜだかわかりません。おそらく、警告なしにシンボリックリンクを変更したときに壊れたdepがすでにあるためです。IDK、これを将来の旅行者のためにここに残す
quietContest

回答:



1

さて、パッケージを調べたところ、python-minimalにはstruct.pyがありませんが、python-minimal2.7にはあります。

だから、これを試して、それがあなたを助けるかどうか見てください:

sudo apt-get install --reinstall python2.7-minimal
sudo apt-get upgrade

それでもうまくいかない場合は、おそらく$ PYTHONPATHがなんらかの方法で混乱しています。

nano ~/.bashrc

export PYTHONPATH="${PYTHONPATH}:/usr/lib/python2.7"次に行を追加します

source ~/.bashrc

そして、もう一度更新してみてください。


"export"を追加するために編集されました。これは必要なものです;)
Chuck R

「python-minimal2.7パッケージが見つかりません」と表示されます。python2.7-minimalですか?python2.7-minimalを再インストールしようとすると、同じ依存関係の問題が発生します。
Java Xu

申し訳ありませんが、お返事を差し上げるまでに長い時間がかかりました。お試しくださいsudo apt-get clean sudo apt-get update sudo apt-get upgrade
チャックR

1
動作しないのではないかと思います。cleanupdateおよびの後、upgrade再インストールを試みましたpython2.7-minimalが、同じ依存関係の問題が発生し、reinstall再び失敗します。
Java Xu

どのパッケージが間違っていたようです。struct.pyを含むのは、実際にはlibpython2.7-minimalです。インストールされていることを確認してください。インストールしたpython2.7-minimalの現在のバージョンは何ですか?ヒント:dpkg -l | grep python2.7-minimal
チャックR

1

これを試して

sudo apt purge libpython*

私はpython2.7と3.7を削除し、システムから関連ファイルを削除しました。その後、私はpython2.7を再インストールできないことに気づきました。

ソフトリンクを削除する

デル仮想環境ディレクトリ

自動削除

sudo dpkg --purge `dpkg --get-selections | grep deinstall | cut -f1`

次に、システム全体のpythonを検索して、いくつかのlibpythonファイルを見つけました。(わからない場合は、dirからファイルをrmしないでください。)libpython*パッケージを削除した後(1つずつ削除しました)、pythonは正常にインストールされました。

これが同じ問題を抱えている人たちに役立つことを願っています


0

これがあなたを助けてくれるかどうかは分かりませんが、それは暗闇の中で少しの刺し傷ですが、デフォルトのPythonバージョンが2.7に設定されていることを確認してください。

/ usr / binには3つの問題のあるファイルがあります。

python (symlink)
python2.7
python3 (symlink)

あなたが行う場合ls -l /usr/bin | grep python、あなたはどのような各シンボリックリンクのポイントに表示されます。

それがあなたを示している場合、python -> python3またはpython -> python3.3何かが間違っている場合。この時点で、次のことを行います。

rm /usr/bin/python
ln -s /usr/bin/python2.7 /usr/bin/python

お返事をありがとうございます。私/usr/binpythonは、にソフトリンクされていpython2.7ます。
Java Xu

どうしてこれなの?を指すようpython3.5にシンボリックリンクを変更していたため、大量のpythonパッケージが作成さaptれました。デフォルトでPython3にできないのはなぜですか?正しい方法は何ですか?
quietContest 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.