ImportError:名前_remove_dead_weakrefをインポートできません


25

私はあちこち検索してみましたが、この特定のエラーで良い修正や他の人を見つけることができませんでした。

を使用して画面をインストールしようとした後に発生しapt-get install screenます。

エラー:

Setting up python3.6-minimal (3.6.1-1~14.04.york0) ...
Traceback (most recent call last):
  File "/usr/lib/python3.6/py_compile.py", line 6, in <module>
    import importlib._bootstrap_external
  File "/usr/lib/python3.6/importlib/__init__.py", line 57, in <module>
    import types
  File "/usr/lib/python3.6/types.py", line 171, in <module>
    import functools as _functools
  File "/usr/lib/python3.6/functools.py", line 23, in <module>
    from weakref import WeakKeyDictionary
  File "/usr/lib/python3.6/weakref.py", line 12, in <module>
    from _weakref import (
ImportError: cannot import name '_remove_dead_weakref'
dpkg: error processing package python3.6-minimal (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of python3.6:
 python3.6 depends on python3.6-minimal (= 3.6.1-1~14.04.york0); however:
  Package python3.6-minimal is not configured yet.

dpkg: error processing package python3.6 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 python3.6-minimal
 python3.6
E: Sub-process /usr/bin/dpkg returned an error code (1)

Ubuntu 14.04を実行しています。

画面自体は最新バージョンにインストールされているようですが、エラーメッセージはまだ心配しています。

ここでは本当に困っていますが、どんな助けも大歓迎です。


python3.614.04に正確にどのようにインストールしましたか?
スチールドライバー

@steeldriver jonathanfリポジトリ:askubuntu.com/questions/865554/...
antonlab

2
多分それはそのPPAの問題ですか?
スチールドライバー

@steeldriverまた、別の方法(ソースから呼び出されたと思いますか?)を使用してpython3.6をインストールした可能性があるため、競合するものがあるかもしれません。今すぐ適切に再インストールする方法を
見つけよ

回答:


16

Ubuntu 16.10でPycharm 2017.3.2を使用していたときに、最近この問題に遭遇しました。

私のセットアップは:

Python 3.6をpython PPAからインストールしました。Python 3.6.0b4がありました。ただし、Ubuntuを17.04にアップグレードしたばかりですが、まだリブートしていませんでした。コンピューターを再起動したとき、まだそのエラーがスローされていました。そのため、python3.6ターミナルのデフォルトが何であるかを確認しようとしました。

  ~ python3.6
Python 3.6.1 (default, Mar 22 2017, 06:17:05) 
[GCC 6.3.0 20170321] on linux
Type "help", "copyright", "credits" or "license" for more information.

そのため、virtualenvにあったPythonが古いか、間違ったPythonバージョンを指している可能性があることに気付きました。

解決策

  • Python 3.6のどのバージョンをインストールしたかを確認しました(3.6.1)。
  • 仮想環境を削除しました。
  • virtualenvwrapperを使用して新しい仮想環境を作成しました: mkvirtualenv --python=python3.6

  • pipで要件をインストールしました: pip install -r requirements.txt


私が横に置いていた別のラップトップでこれに遭遇しました。これらの手順は、私の問題の解決に役立ちました。:D
ヘクトロン

9

Ubuntu 17.10にアップグレードした後、私に起こりました。python 2.7 virtualenvのフォルダーに移動して、次のように入力して修正しました。

virtualenv -p /usr/bin/python2.7 .

1
おかげで、これは16.04から18.04へのアップグレード後にも機能しました。
ジェームズブラッドベリー

6

これは、Ubuntuを17.10にアップグレードした後に起こりました。

Python virtualenvにインストールされたアプリケーションを実行しようとしました。

このように修正しました:

cd my-virtualenv-directory
virtualenv . --system-site-packages

--system-site-packagesアプリケーションはUbuntuのpython-gtkを使用するため、オプションが必要でした。他のほとんどの場合、それは必要ないと思います。

ImportError: cannot import name _remove_dead_weakrefなくなっている:-)


1
18.04にアップグレードした後、この問題に直面しましたが、仮想環境を再インストールする必要なく、この修正も機能しました。ありがとうございました!
aspiring_sarge

4

私は最近、同様の問題に遭遇しました(私の特定のケースは、システムのPythonインストールを更新した後にvirtualenvを使用していました)。このdebianバグレポートレポートによると、Pythonのローカルインストールがシステムインストールを妨害する可能性があるようです。ソースからpythonをインストールしたと言ったので、おそらく問題です。リンクされたバグレポートでは、Pythonをにインストールしないことを推奨してい/usr/localます(--prefix=/some/other/directoryフラグを使用して別のプレフィックスにインストールできます./configure)。


面白い。私はまだLinuxを初めて使用しますが、それを行うことで何が見つかるかを見ていきます。
antonlab

私は自宅にminicondaをインストールしましたが、幸い、minicondaをセットアップしたシェルの後に新しいシェルを開くことで問題を解決できました。
フレッドシェーン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.