PIP(Python):ImportError:无法导入名称_remove_dead_weakref

Rav*_*i K 7 python pip pywin32

我收到了以下错误,我有很多搜索,但一直没有找到一个好的修复 - 请任何人得到这种错误并解决.请帮忙.

File "c:\python27\lib\runpy.py", line 174, in _run_module_as_main
   "__main__", fname, loader, pkg_name)
 File "c:\python27\lib\runpy.py", line 72, in _run_code
   exec code in run_globals
 File "C:\python27\Tools\Scripts\pip.exe\__main__.py", line 5, in <module>
 File "c:\python27\lib\site-packages\pip\__init__.py", line 5, in <module>
   import logging
 File "c:\python27\lib\logging\__init__.py", line 26, in <module>
   import sys, os, time, cStringIO, traceback, warnings, weakref, collections
 File "c:\python27\lib\weakref.py", line 14, in <module>
   from _weakref import (
ImportError: cannot import name _remove_dead_weakref
Run Code Online (Sandbox Code Playgroud)

Hee*_*fan 9

当我从终端运行lldb时,我在macOS X上遇到了类似的问题.错误消息如下,

16:55 $ lldb
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/local/Cellar/python@2/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/python@2/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
Run Code Online (Sandbox Code Playgroud)

错误消息与您的错误信息非常相似.这是我在macOS X上解决的问题.

$ brew list
...<many libraries>
python@  <The one has conflicted with my python3.6>

$ brew remove python@2 --ignore-dependencies
Uninstalling /usr/local/Cellar/python@2/2.7.14_3... (4,662 files, 82.8MB)
Run Code Online (Sandbox Code Playgroud)

我认为问题是由系统安装的python引起的,这与个人安装的python有冲突.我删除了我的python2.7并且lldb运行良好.虽然我们在不同的操作系统上运行,但我希望它会给你一些想法.

  • 我有同样的问题,但不是卸载python我只是取消链接它:`brew unlink python @ 2` (4认同)

Bri*_*ian 1

我很确定这个错误的原因是你安装python的方式,并且你很可能从其他地方复制了安装..或者你正在重命名文件夹..或者你的python安装无效环境路径。

如果您要复制 python 文件夹,请不要“为所有用户”安装它。只需将其安装到“仅登录用户”的文件夹中即可。

所以你的解决方案应该是

  1. 再次安装 python 并指向您的位置 c:\python27 或
  2. 使用“仅为此用户安装”安装python..然后将其复制到您的c:\python27..您可能对pipenv和virtualenv感兴趣(谷歌搜索它们)

另外,您可以使用以下命令运行 pip

python -m pip install <module_to_install>
Run Code Online (Sandbox Code Playgroud)

这与运行相同

pip.exe install <module_to_install>
Run Code Online (Sandbox Code Playgroud)

您可以尝试使用 python 的完整路径来查看它是否可以正常运行 pip 。例如。c:\python27\python.exe -m pip install <module_to_install>