web-dev-qa-db-ja.com

PIP(Python):ImportError:名前_remove_dead_weakrefをインポートできません

エラーを下回っています。さまざまな検索を行っていますが、適切な修正を見つけることができませんでした。この種のエラーが発生して解決された方はどなたでもください。助けてください。

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
7
Ravi K

このエラーの理由は、インストール方法pythonであり、他の場所からインストールをコピーした可能性が高いと思います。 'フォルダの名前を変更しています...または、環境パスに無効なpythonインストールが含まれています。

pythonフォルダーについてのコピーを探している場合は、「すべてのユーザー向け」ではなく、「ログインしているユーザーのみ」のフォルダーにインストールしてください。

だからあなたの解決策は

  1. install python再びあなたの場所を指すc:\ python27または
  2. install python「このユーザーのみのインストール」を使用して..次に、それをc:\ python27にコピーします.. pipenvとvirtualenvに興味があるかもしれません(それらをGoogle検索)

また、次を使用してpipを実行できます

python -m pip install <module_to_install>

これは実行と同じです

pip.exe install <module_to_install>

pythonのフルパスを使用して、pip okが実行されるかどうかを確認することができます。例:c:\python27\python.exe -m pip install <module_to_install>

1
Brian

端末から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はうまく動作します。私たちは別のOSで実行していますが、それがあなたにいくつかのアイデアを与えることを願っています。


異なるバージョンのpythonを管理するには、pyenvをインストールすることをお勧めします。 ここ を参照してください。 Pythonの異なるバージョンを簡単に切り替えることができます。

8
Heefan