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

时间:2018-03-08 06:37:25

标签: 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

2 个答案:

答案 0 :(得分:6)

当我从终端运行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

错误消息与您的错误信息非常相似。 这是我在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)

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

要管理不同版本的python,我建议您安装pyenv, 见here。它可以轻松切换python的不同版本。

答案 1 :(得分:0)

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

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

所以你的解决方案应该是

  1. 再次指向你的位置c:\ python27安装python 或
  2. 使用'仅为此用户安装'安装python ..然后从它复制到你的c:\ python27 ..你可能对pipenv和virtualenv感兴趣(google搜索它们)
  3. 此外,您可以使用

    运行pip
    pip.exe install <module_to_install>
    

    这与运行

    相同
    c:\python27\python.exe -m pip install <module_to_install>

    您可以尝试使用python的完整路径来查看它是否运行pip ok。 例如。 {{1}}