python pip已损坏,无法修复或卸载

时间:2020-03-18 22:45:15

标签: python pip conda

由于稍后描述的一系列事件,每当我尝试对pip做任何事情时,我都会在命令提示符中收到以下错误。

(venv) (base) C:\Users\Mark Kortink\Dropbox\Python\projects\metapplica>pip install flask
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\ProgramData\Anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\MARKKO~1\Dropbox\Python\projects\METAPP~1\venv\Scripts\pip.exe\__main__.py", line 9, in <module>
  File "c:\users\markko~1\dropbox\python\projects\metapp~1\venv\lib\site-packages\pip\_internal\main.py", line 45, in main
    command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
  File "c:\users\markko~1\dropbox\python\projects\metapp~1\venv\lib\site-packages\pip\_internal\commands\__init__.py", line 96, in create_command
    module = importlib.import_module(module_path)
  File "C:\ProgramData\Anaconda3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "c:\users\markko~1\dropbox\python\projects\metapp~1\venv\lib\site-packages\pip\_internal\commands\install.py", line 23, in <module>
    from pip._internal.cli.req_command import RequirementCommand
  File "c:\users\markko~1\dropbox\python\projects\metapp~1\venv\lib\site-packages\pip\_internal\cli\req_command.py", line 17, in <module>
    from pip._internal.index import PackageFinder
ImportError: cannot import name 'PackageFinder' from 'pip._internal.index' (c:\users\markko~1\dropbox\python\projects\metapp~1\venv\lib\site-packages\pip\_internal\index\__init__.py)

所有情况都在我的另一个问题中进行了描述,但没有得到有用的答案。在这里ModuleNotFoundError

我简而言之:-

  1. 我有一个可以在Anaconda环境中运行的Flask应用程序 使用pip(而非conda)安装的所有内容, flask-bootstrap。
  2. 我卸载了flask-bootstrap并安装了其他软件包 用Bootsrap-flask来获取bootstrap-4,就可以了。
  3. 我卸载了Bootstrap-flask,因为我决定使用纯CSS。
  4. 我仍然可以在Anaconda环境的venv中运行我的应用程序 使用“烧瓶运行”。
  5. 但是,一旦我尝试在调试器中运行任何与烧瓶相关的烧瓶 (Spyder或VSCode)我知道找不到核心的Flask库。
  6. 一旦我对pip进行任何操作,我都会收到上述错误。

我相信上面的所有细节都分散了我的注意力,出于完整性考虑,我将其包含在内,这是我的另一个相关问题。我相信从上面从命令提示符中读出来的根本原因应该很明显。特别是ImportError: cannot import name 'PackageFinder' from 'pip._internal.index'

任何人都可以提出任何建议。如果没有,我该如何安全,干净地删除Flask venv环境并重新安装而不会丢失任何东西。

谢谢

2 个答案:

答案 0 :(得分:1)

记录下来,这就是我最终要做的事情。

  1. 未安装的Anaconda。
  2. 切换到Flask应用目录并停用,然后删除venv。
  3. 安装了最新版本的Python。
  4. 已安装的virtualenv。
  5. 切换到Flask应用程序目录并创建并激活一个新 venv。
  6. 安装Flask和所有其他零碎组件 点子。
  7. 安装了WinPython应用程序(不再安装Anaconda)。
  8. 对WinPython非常满意,它是自然而简单的,而不是 固执而复杂的,例如Anaconda(想想Flask与Django)。
  9. Spyder可用,但版本较旧。
  10. 使用pip升级WinPython方式的Spyder,效果很好。

Flask应用程序正常运行,运行pip时没有出现错误。我回到了最初的“缺少模块”问题,但是现在我了解了如何设置环境,我认为我可以解决这个问题。当我这样做时,将发布该问题的答案。

答案 1 :(得分:0)

这应该作为提示并回答您的问题。 我已经与Flask进行了广泛的合作,您的环境中的简单混乱可能会弄乱您的整个项目,并最终导致您在尝试在线修复时浪费所有时间。如果遇到环境问题,请始终重新创建项目。我建议您使用Pycharm IDE,因为Anaconda环境有时可能会混乱。 请按照以下步骤解决您的问题

修复1

  1. 打开anaconda提示符,然后在
  2. 上运行此命令

function messagesByPet($petId,$userId){ $messages = Message::where('sender_id',$userId)->orWhere('receiver_id',$userId)->orderBy('created_at','asc')->get(); $message = $messages->where('pet_id', $petId); return $message; }

  1. 确认Pip版本及其位置后,运行升级

{ "0": { "id": 197, "sender_id": "5718", "receiver_id": "5716", "pet_id": "5113", "description": "Hi", "created_at": "2020-03-16 05:29:41", "updated_at": "2020-03-16 05:29:41" }, "3": { "id": 203, "sender_id": "5718", "receiver_id": "5716", "pet_id": "5113", "description": "Hi", "created_at": "2020-03-18 22:06:40", "updated_at": "2020-03-18 22:06:40" } }

  1. 确保一切正常运行

python -m pip --version

修复2 似乎您的包裹有问题

  1. 在工作目录中创建一个 requirements.txt 文件
  2. 通过在python终端上使用以下代码,将所有必需的软件包自动传递到您的 requirements.txt

python -m pip install --upgrade pip

  1. 运行以下命令以安装可能丢失或损坏的软件包

conda update pip

一切顺利