【问题标题】:python pip corrupted, can't repair or uninstallpython pip损坏,无法修复或卸载
【发布时间】:2020-06-30 01:51:46
【问题描述】:

由于稍后描述的一系列事件,每当我尝试使用 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)安装的所有内容,它使用 烧瓶引导。
  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 环境并重新安装它而不会丢失任何东西。

谢谢

【问题讨论】:

  • (venv) (base) 是什么?您是否尝试过创建新的 Conda 环境?
  • 等等,你是同时使用 virtualenv 和 Conda 吗?它是如何工作的?
  • 让我们知道我提供的解决方案是否适合您

标签: python pip conda


【解决方案1】:

这应该作为您的问题的提示和答案。 我已经广泛使用烧瓶,并且在您的环境中简单的混乱可能会弄乱您的整个项目并最终在您尝试在线修复时消耗您的所有时间。如果您遇到环境问题,请始终重新创建您的项目。我建议您使用 Pycharm IDE,因为 Anaconda 环境有时会很混乱。 请按照以下步骤解决您的问题

修复 1

  1. 打开您的 anaconda 提示符并在
  2. 上运行此命令

python -m pip --version

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

python -m pip install --upgrade pip

  1. 为确保一切正常运行

conda update pip

修复 2 看来你的包有问题

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

pip freeze &gt; requirements.txt

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

pip install -r requirements.txt

一切顺利

【讨论】:

  • 为什么要这样混合 pip 和 Conda?
  • 它没有什么区别,只是你不能在普通的cmd或powershell上使用conda命令
  • 好的,谢谢@KaliKimanzi,这是结果。修复1:(1)版本命令适用于19.3.1; (2) 因上述错误而失败; (3) conda 更新工程。修复 2:(2)工作,需求文件创建; (3) 因上述错误而失败。
  • 谢谢@AMC,简短的回答是我大约 12 个月前开始工作时不知道自己在做什么。出于数据科学的原因开始与 Anaconda 混在一起,所以只安装了锁、库存和桶。几个月后,我完成了 Miguel Grinbergs Flask Megatutorial,只是使用了 conda 命令提示符,对此我一无所知。我确实开始意识到事情很糟糕,但一切正常,我还有比整理环境更好的事情要做。交换引导模块导致一切崩溃:(
  • 我想达到这样一个场景,即我为 Anaconda 和我的 Flask 开发提供完全独立的环境。我非常有信心在我的 Win10 笔记本电脑上设置了一个“正常”的 python 环境。那么问题是如何将我的 Flask 应用程序移到其中,并通过删除 Flask 等选择清理 Anaconda 环境?
【解决方案2】:

为了记录,这就是我最终做的事情。

  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 时没有出现错误。我回到了我原来的“缺少模块”问题,但现在我了解了环境是如何设置的,我想我可以解决这个问题。当我这样做时,将发布该问题的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 2021-10-03
    • 2017-10-15
    • 2020-03-28
    相关资源
    最近更新 更多