ImportError: não é possível importar o nome _remove_dead_weakref

22

Eu tentei pesquisar, mas não consegui encontrar uma boa correção ou qualquer outra pessoa com esse erro específico.

Acontece depois que eu tento instalar a tela com apt-get install screen .

Erro:

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)

Executando o Ubuntu 14.04.

A tela em si parece ter sido instalada em sua versão mais recente, mas a mensagem de erro ainda me preocupa.

Realmente em uma perda aqui, qualquer ajuda é muito apreciada.

    
por antonlab 20.04.2017 / 15:54

4 respostas

16

Recentemente encontrei esse problema quando estava usando o Pycharm 2017.3.2 no Ubuntu 16.10.

Minha configuração foi:

Eu instalei o Python 3.6 a partir do PPA do Python. Eu tinha o Python 3.6.0b4. No entanto, eu tinha acabado de atualizar o Ubuntu para o 17.04, mas ainda tinha que reiniciar. Quando eu reiniciei o meu computador, ele ainda estava jogando esse erro. Portanto, tentei ver qual era o padrão python3.6 no 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.

Portanto, percebi que o Python que eu tinha em meu virtualenv pode estar desatualizado ou apontando para uma versão incorreta do Python.

Solução :

  • Verifiquei qual versão do Python 3.6 eu tinha instalado (3.6.1).
  • Removido meu ambiente virtual.
  • Criado o novo ambiente virtual usando virtualenvwrapper: mkvirtualenv --python=python3.6

  • Instalou os requisitos com o pip: pip install -r requirements.txt

por Hectron 24.05.2017 / 04:50
7

Aconteceu comigo depois de atualizar para o Ubuntu 17.10. Eu consertei meu python 2.7 virtualenv indo para sua pasta e digitando:

virtualenv -p /usr/bin/python2.7 .
    
por Ciske Boekelo 30.04.2018 / 22:37
5

Isso aconteceu comigo depois de atualizar o Ubuntu para 17.10.

Eu tentei executar um aplicativo que foi instalado em um virtualenv do Python.

Eu corri assim:

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

A opção --system-site-packages foi necessária porque o aplicativo usa o python-gtk do Ubuntu. Na maioria dos casos, não é necessário.

Agora, ImportError: cannot import name _remove_dead_weakref desapareceu: -)

    
por guettli 15.04.2018 / 10:15
4

Eu recentemente passei por um problema semelhante (meu caso específico estava usando um virtualenv após atualizar a instalação do sistema python). De acordo com este relatório relatório do bug debian , parece que uma instalação local do python pode interferir com o sistema um. Desde que você disse que instalou o python a partir da fonte, esse é provavelmente o problema. O relatório de bug vinculado sugere não instalar o python em /usr/local (você pode instalar um prefixo diferente usando o --prefix=/some/other/directory flag para ./configure ).

    
por jonathanverner 24.04.2017 / 23:56

Tags