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)

우분투 실행 14.04.

화면 자체가 최신 버전으로 설치 된 것 같지만 오류 메시지가 여전히 걱정됩니다.

실제로 여기에서 상실, 어떤 도움이라도 대단히 감사합니다.


python3.614.04에 정확히 어떻게 설치 했 습니까?
steeldriver

@steeldriver jonathanf 리포지토리 : askubuntu.com/questions/865554/…
antonlab

2
어쩌면 그 ppa에 문제가 있습니까?
steeldriver

@steeldriver 다른 방법을 사용하여 python3.6을 설치했을 수도 있습니다 (소스에서 호출했다고 생각합니까?) 상충되는 내용이있을 수 있습니다. 지금 올바르게 다시 설치하는 방법을 알아 내려고 시도 중
antonlab

답변:


16

Ubuntu 16.10에서 Pycharm 2017.3.2를 사용할 때 최근 에이 문제가 발생했습니다.

내 설정은 다음과 같습니다

파이썬 PPA에서 Python 3.6을 설치했습니다. Python 3.6.0b4가 있습니다. 그러나 방금 우분투를 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
Hectron 2018 년

9

우분투 17.10으로 업그레이드 한 후 나에게 일어났다. 폴더로 이동하여 다음을 입력하여 Python 2.7 virtualenv를 수정했습니다.

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

1
감사합니다. 이것은 16.04에서 18.04로 업그레이드 한 후에도 작동했습니다.
James Bradbury

6

우분투를 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

최근에 비슷한 문제를 겪었습니다 (특정 사례는 시스템 파이썬 설치를 업데이트 한 후 virtualenv를 사용했습니다). 이 데비안 버그 보고서에 따르면, 파이썬의 로컬 설치는 시스템을 방해 할 수 있습니다. 소스에서 파이썬을 설치했다고 말 했으므로 아마도 문제 일 것입니다. 링크 된 버그 보고서는 파이썬을 설치하지 말 것을 제안합니다 /usr/local(to --prefix=/some/other/directory플래그를 사용하여 다른 접두사로 설치할 수 있습니다 ./configure).


흥미 롭군 나는 여전히 리눅스를 처음 접하지만 그 일에 대해 무엇을 찾을 수 있는지 볼 것이다.
antonlab

나는 집에 miniconda를 설치했고 다행히 miniconda를 설치 한 후에 새 쉘을 열어 문제를 해결할 수있었습니다.
Fred Schoen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.