【问题标题】:pip no longer working after update error 'module' object is not callable更新错误“模块”对象不可调用后 pip 不再工作
【发布时间】:2020-02-15 11:57:03
【问题描述】:

pip 更新后,pip 已完全停止工作。

Z:\>pip install matplotlib
Traceback (most recent call last):
  File "c:\program files\python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Program Files\Python37\Scripts\pip.exe\__main__.py", line 9, in <module>
TypeError: 'module' object is not callable

有什么帮助吗?

编辑:我正在使用 Windows 10

【问题讨论】:

  • 您可以试试python -m pip install matplotlib 并报告错误吗?
  • 养成使用python -m pip的习惯
  • @AnnevanRossum Running python -m pip 确保调用的 pip 始终与您正在运行的 python 相关联
  • @hansolo 肯定还有其他事情发生。在我的系统上pip 失败,而python -m pip 成功。这是一个多 python 系统(pip3python3 -m pip 一样成功)。我想知道pip 是否按原样使用,它使用不同的PYTHONPATH 或做其他不同的事情。

标签: python python-3.x pip python-3.7


【解决方案1】:

在一种情况下,从您的 python 文件中对您的 IMPORT 进行此编辑

--import [MODULE]
++from [MODULE_NAME] import [MODULE]

【讨论】:

    【解决方案2】:

    我还不能离开 cmets,因此我决定留下一个链接来解释为什么会发生这种情况:https://github.com/pypa/pip/issues/5599

    如果是这种情况,您可以尝试通过使用以下命令降级 pip 版本来修复它:

     python -m pip install pip==<previous version>
    

    【讨论】:

      【解决方案3】:

      我在使用 h5py-2.7.1 时遇到了同样的问题,升级到 h5py-2.10.0 后警告消失了。

      【讨论】:

        【解决方案4】:

        这对我有用,卸载 pip 19.3.1 并替换为 19.0.3,错误消失了。

        python -m pip install pip==19.0.3 --user
        

        【讨论】:

          【解决方案5】:

          如果您不想每次python -m pip install &lt;package&gt; 都使用长命令,请将 pip 重新安装到不存在此错误的旧版本。

          python -m pip install pip==19.0.3
          

          现在您可以正常使用pip install matplotlibpip list

          只要问题得到解决,就像以前一样升级 pip。

          【讨论】:

            【解决方案6】:

            遇到了同样的问题。我已经设法通过重新安装 pip 来修复它,并结合使用其他答案:

            python -m pip install -U --force-reinstall pip

            【讨论】:

              【解决方案7】:

              有使用 python -m 安装任何带有 pip 的 python 包的习惯,比如安装 numpy 使用以下命令:

              python -m pip install numpy

              如果出现环境权限错误,请在同一命令中追加--user:

              python -m pip install numpy --user

              【讨论】:

                【解决方案8】:

                类似于@han_solo 所说的,但如果你运行 python3,而不是使用:

                python -m pip install stdlib_list --user

                尝试使用:

                python3 -m pip install stdlib_list --user

                【讨论】:

                • Alden,下次只需编辑现有答案并添加python3 -m pip install stdlib_list --user,而不是仅仅添加一个数字就获得全新的答案
                【解决方案9】:

                我遇到了和你一样的问题,我卸载pip重新安装解决了。

                卸载: python -m pip 卸载 pip

                要安装,请按照说明进行操作: https://www.liquidweb.com/kb/install-pip-windows/

                之后,您将拥有一个较旧但功能正常的 19.0.3 版本。

                【讨论】:

                  【解决方案10】:

                  所有功劳归于用户han_solo,他将答案作为评论而不是作为答案留下:

                  而不是pip install stdlib_list --user

                  使用python -m pip install stdlib_list --user

                  stdlib_list 替换为matplotlib 或任何您想要的包的名称。

                  【讨论】:

                  • 为什么会这样?
                  • 糟糕。但至少你可以设置一个别名alias pip="python -m pip"(或alias pip="python3 -m pip")。将其添加到 ~/.bash_aliases 或你的 shell rc 文件中
                  • 对 python3 使用 python3 -m pip install stdlib_list --user。在这种情况下,模块名称仍然是 pip
                  猜你喜欢
                  • 1970-01-01
                  • 2013-09-19
                  • 2023-03-29
                  • 1970-01-01
                  • 2018-01-22
                  • 1970-01-01
                  • 2021-06-12
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多