weakref 가져 오기 오류로 인해 python2.7이 손상되었습니다. 도와주세요!


27

방금 16.04에서 17.10으로 업데이트했으며 python2.7 명령을 실행할 때 마다이 오류가 발생합니다.

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

다른 사용자도 비슷한 문제가 있었지만 실행하려는 모든 파이썬 프로그램에 영향을 미칩니다. pip를 통해 아무것도 설치하거나 파이썬 스크립트를 사용할 수 없습니다. 나는 무엇을 해야할지 전혀 모른다. 지원은 크게 감사하겠습니다.

"python --version"의 출력은

Python 2.7.12

그러나 "python 업데이트"는 다음을 생성합니다.

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

나는 17.04에서 17.10으로 업데이트하고 같은 직면 ImportError: cannot import name _remove_dead_weakref. 내 파이썬은 2.7.14입니다
Csaba Toth

필자의 경우 가상 환경을 사용하고 있으며 해당 가상 환경 내부의 파이썬이 시스템 버전과 동기화되지 않았기 때문에이 오류가 발생한다고 생각합니다. 이 모든 패키지 :( 설치하는 투쟁 있었지만 나는 처음부터 가상 환경을 재건하는 것은 내 문제를 해결할 수 있다는 생각
사바 토스

답변:


26

이것은 우분투 솔루션이 아니지만이 질문에 대한 오류 검색 결과가 높기 때문에 기본 시스템 Python이 2.7이기 때문에 OSX 에서이 오류가 발생했으며 "python @ 2"를 설치했습니다. 다른 패키지 설치

OSX에 있고 homebrew를 사용하는 경우을 실행하여 brew와 함께 설치된 패키지를 확인 brew list하고 해당 목록에 "python @ 2"가 표시되고 Python 2.7이 시스템 Python 인 경우 brew 설치된 패키지를 제거 할 수 있습니다.brew remove python@2 --ignore-dependencies


2
이는 많은 패키지를 package @ version 새 패키지로 교체 한 양조 업그레이드 후에 발생했습니다.
Hugo H

2
이것은 나를 도왔다. swiftMac에서 실행할 때 위에서 언급 한 오류가 발생했습니다. 그것은 brew에서 python2를 사용하고 있었기 때문에 밝혀졌습니다. 그것을 제거하면 내 문제가 해결되었습니다.
jmurphyau

2
고마워 내 lldb경고를 해결하는 데 도움이되었습니다 .
Steven Hepting

고마워요 난 그냥이 아니라 시스템 파이썬보다 최신 브루 파이썬에 포인트에 / usr / 지방 / 빈 / Python으로 내 심볼릭 링크 업데이트
매트

9

가상 환경을 사용하는 경우 다시 작성해야합니다. 다른 가능성은 시스템과 충돌하는 일부 소스 기반 또는 측면 설치 파이썬 버전을 사용하는 것입니다. 이 경우 다양한 환경에서 올바른 폴더와 경로가 구성되도록 정렬해야합니다.


3

제 경우에는 가상 환경과 관련된 오류였습니다. 그래서 새로운 가상 환경을 만드는 것이 저에게 효과적이었습니다. 다음은 동일한 작업에 도움이 될 수있는 명령 목록입니다.

가상 환경 설치 :

pip install virtualenv

새로운 가상 환경 만들기 :

virtualenv -p {env_name}

가상 환경 활성화

source env_name/bin/activate

가상 환경 비활성화 :

deactivate

OP는 가상 환경을 언급하지 않으므로 가상 환경을 사용하지 않을 때 문제를 해결하지 못합니다.
MikeM
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.