PIP (Python) : ImportError: cannot import name _remove_dead_weakref

PIP (Python) : ImportError: cannot import name _remove_dead_weakref

I have encountered the similar issue on my macOS X when I run lldb from the terminal. The error message is the following,

16:55 $ lldb
Traceback (most recent call last):
File <input>, line 1, in <module>
File /usr/local/Cellar/[email protected]/2.7.14_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/copy.py, line 52, in <module>
    import weakref
File /usr/local/Cellar/[email protected]/2.7.14_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/weakref.py, line 14, in <module>
from _weakref import (
ImportError: cannot import name _remove_dead_weakref

The error message is quite similar with yours.
This is what I solved on my macOS X.

$ brew list
...<many libraries>
[email protected]  <The one has conflicted with my python3.6>

$ brew remove [email protected] --ignore-dependencies
Uninstalling /usr/local/Cellar/[email protected]/2.7.14_3... (4,662 files, 82.8MB)

I think the problem is caused by the system installed python, which conflicts with personally installed python. After I removed my python2.7 and lldb works well. I hope it will give you some idea, although we are running on a different OS.

To manage different version of python, I recommend you to install pyenv,
see here. It can easily switch the different versions of your python.

Im pretty sure the reason for this error is how youre installing python and that youve most likely copied your installation from somewhere else .. or youre renaming folders .. or youve an invalid python installation in your environmental path.

If youre looking to copy the python folder about, dont install it for all users .. just install it to your folder for your logged in user only.

So your solution should be either

  1. install python again pointing to your location c:python27
  2. install python using the install just for this user .. then copy from it to your c:python27 .. you might be interested in pipenv and virtualenv (google search for them)

Also, you can run pip using

python -m pip install <module_to_install>

This is the same as running

pip.exe install <module_to_install>

You could try using the full path for python to see if it runs pip ok.
eg. c:python27python.exe -m pip install <module_to_install>

PIP (Python) : ImportError: cannot import name _remove_dead_weakref

Leave a Reply

Your email address will not be published. Required fields are marked *