python2.7 zayıf ithalat hatası ile kırıldı, lütfen yardım edin!


27

16.04'ten 17.10'a yeni geçtim ve her python2.7 komutunu çalıştırmayı her denediğimde bu hatayı alıyorum:

pip install --upgrade pip
Traceback (most recent call last):
File "/home/XXXX/bin/pip", line 7, in <module>
    from pip import main
  File "/home/XXXX/local/lib/python2.7/site-packages/pip/__init__.py", 
line 5, in <module>
    import logging
  File "/usr/lib/python2.7/logging/__init__.py", line 26, in <module>
    import sys, os, time, cStringIO, traceback, warnings, weakref, 
collections
  File "/home/XXXX/lib/python2.7/weakref.py", line 14, in <module>
    from _weakref import (
ImportError: cannot import name _remove_dead_weakref

Başka bir kullanıcının da benzer bir sorunu vardı, ancak bu yürütmeye çalıştığım herhangi bir python programını etkiliyor. Pip aracılığıyla hiçbir şey yükleyemiyorum veya herhangi bir python komut dosyası kullanamıyorum. Ne yapacağım hakkında hiçbir fikrim yok, yardım çok takdir edilecektir.

"Python --version" çıktısı:

Python 2.7.12

bununla birlikte "python güncellemesi" şunları üretir:

python is already the newest version (2.7.14-2ubuntu1).

17.04 - 17.10 arasında güncellendi ve aynı şekilde baktım ImportError: cannot import name _remove_dead_weakref. Python'um 2.7.14
Csaba Toth

Benim durumumda sanal ortamlar kullanıyorum ve bu sanal ortamların içindeki pitonun artık bu sistem hatasıyla senkronize olmadığından şüpheleniyorum. Sanal ortamı sıfırdan yeniden inşa etmenin sorunumu çözebileceğinden şüpheliyim, tüm paketleri
Csaba Toth

Yanıtlar:


26

Bu bir Ubuntu çözümü değil, ancak bu soru, hata için arama sonuçlarında yüksek göründüğü için, varsayılan sistemim Python'un 2.7 olduğu ve bu sırada "python @ 2" yi kurduğum için OSX'te bu hatayı bulduğumu söylemek istedim. başka bir paket kurmak.

OSX kullanıyorsanız ve homebrew kullanıyorsanız, brew ile çalışan paketlerinizi çalıştırarak kontrol edin brew listve bu listede "python @ 2" belirirse ve Python 2.7 sisteminiz Python ise, demeti takmış paketibrew remove python@2 --ignore-dependencies


2
Bu bir demleme yükseltme işleminden sonra birçok paketi kendi paketi @ sürümleriyle yenisiyle değiştirdikten sonra ... Teşekkürler!
Hugo H,

2
Bu bana yardımcı oldu. swiftMac üzerinde çalışırken yukarıda belirtilen hataları aldım. Demlemek için python2 kullandığı için anlaşıldı. Bunu kaldırmak sorunumu çözdü.
jmurphyau

2
Bunun için teşekkürler. Uyarımı çözmeme yardımcı oldu lldb.
Steven Hepting

Başınız için teşekkürler. Sistemimi python yerine en son Homebrew python'a işaret etmek için / usr / local / bin / python içindeki sembolik çizgilerimi güncelledik
mat

9

Sanal bir ortam kullanıyorsanız, yeniden oluşturmanız gerekir. Diğer bir olasılık da, sistem ile çakışan bazı kaynak tabanlı veya yandan monte edilmiş python versiyonunu kullanmanızdır. Bu durumda, doğru klasörlerin ve yolların çeşitli ortamlardan yapılandırılmış olduklarını çözmeniz gerekir.


3

Benim durumumda sanal ortamla ilgili bir hataydı. Bu yüzden, yeni bir sanal ortam yaratmak benim için çalıştı. Aynı şekilde size yardımcı olabilecek komutların listesi.

Sanal ortamı yükleme:

pip install virtualenv

Yeni bir sanal ortam oluşturma:

virtualenv -p {env_name}

Sanal ortamı etkinleştirme:

source env_name/bin/activate

Sanal ortamınızı devre dışı bırakma:

deactivate

OP bir sanal env'den bahsetmiyor, bu yüzden cevabınız sanal bir env kullanılmadığında soruna değinmiyor.
MikeM
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.