ImportError: tidak dapat mengimpor nama _remove_dead_weakref

25

Saya sudah mencoba mencari di sekitar tetapi belum dapat menemukan perbaikan yang baik atau siapa pun dengan kesalahan khusus ini.

Itu terjadi setelah saya mencoba memasang layar apt-get install screen.

Kesalahan:

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)

Menjalankan Ubuntu 14.04.

Layarnya sendiri tampaknya sudah diinstal ke versi terbarunya, tetapi pesan kesalahannya masih membuat saya khawatir.

Benar-benar bingung di sini, bantuan apa pun sangat dihargai.

antonlab
sumber
Bagaimana tepatnya Anda menginstal python3.6pada 14,04?
steeldriver
@steeldriver repositori jonathanf: askubuntu.com/questions/865554/…
antonlab
2
Mungkin itu masalah dengan ppa itu?
steeldriver
@steeldriver Saya mungkin juga menginstal python3.6 menggunakan metode lain (saya pikir itu dipanggil dari sumber?) jadi mungkin ada hal-hal yang saling bertentangan. Mencoba mencari cara menginstal ulang dengan benar sekarang,
antonlab

Jawaban:

16

Saya baru-baru ini mengalami masalah ini ketika saya menggunakan Pycharm 2017.3.2 di Ubuntu 16.10.

Setup saya adalah:

Saya menginstal Python 3.6 dari python PPA. Saya punya Python 3.6.0b4. Namun, saya baru saja memutakhirkan Ubuntu menjadi 17,04, tetapi belum melakukan reboot. Ketika saya reboot komputer saya, masih ada kesalahan. Oleh karena itu, saya mencoba melihat apa yang python3.6ada di terminal.

  ~ 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.

Oleh karena itu, saya menyadari bahwa Python yang saya miliki di virtualenv saya mungkin sudah usang atau menunjuk ke versi Python yang salah.

Solusi :

  • Memastikan versi Python 3.6 apa yang saya instal (3.6.1).
  • Menghapus lingkungan virtual saya.
  • Menciptakan lingkungan virtual baru menggunakan virtualenvwrapper: mkvirtualenv --python=python3.6

  • Menginstal persyaratan dengan pip: pip install -r requirements.txt

Hektron
sumber
Baru saja menabrak ini di laptop lain saya telah berbaring. Langkah-langkah ini membantu menyelesaikan masalah saya. : D
Hectron
9

Terjadi pada saya setelah meningkatkan ke Ubuntu 17.10. Saya memperbaiki python 2.7 virtualenv dengan membuka foldernya dan memasukkan:

virtualenv -p /usr/bin/python2.7 .
Ciske Boekelo
sumber
1
Terima kasih, ini juga berfungsi setelah peningkatan dari 16,04 menjadi 18,04.
James Bradbury
6

Ini terjadi pada saya setelah memutakhirkan Ubuntu ke 17.10.

Saya mencoba menjalankan aplikasi yang diinstal dalam virtualenv Python.

Saya memperbaikinya seperti ini:

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

Opsi --system-site-packagesitu diperlukan karena aplikasi menggunakan python-gtk dari Ubuntu. Saya pikir dalam banyak kasus lain itu tidak diperlukan.

Sekarang ImportError: cannot import name _remove_dead_weakrefhilang :-)

guettli
sumber
1
Saya menghadapi masalah ini setelah memutakhirkan ke 18.04, dan perbaikan ini juga berhasil untuk saya tanpa perlu menginstal ulang salah satu lingkungan virtual; Terima kasih!
aspiring_sarge
4

Saya baru-baru ini mengalami masalah yang sama (kasus spesifik saya menggunakan virtualenv setelah memperbarui instalasi sistem python). Menurut laporan laporan bug debian ini , tampaknya instalasi lokal python dapat mengganggu sistem. Karena Anda mengatakan Anda memasang python dari sumber, itu mungkin masalahnya. Laporan bug yang ditautkan menyarankan untuk tidak menginstal python ke /usr/local(Anda dapat menginstal ke awalan yang berbeda menggunakan --prefix=/some/other/directorybendera untuk ./configure).

Jonathanverner
sumber
Menarik. Saya masih cukup baru di linux tetapi saya akan melihat apa yang dapat saya temukan tentang melakukan itu.
antonlab
Saya memasang miniconda di rumah saya dan untungnya bisa menyelesaikan masalah dengan membuka shell baru setelah saya memasang miniconda.
Fred Schoen