【问题标题】:PIP module has no attribute "main"PIP 模块没有属性“main”
【发布时间】:2017-09-09 23:18:29
【问题描述】:

编辑:有问题的计算机是一台客户端计算机,对可以安装的软件有限制。我不确定这是否是问题的原因,或者客户的 IT 部门是否给机器提供了损坏的 pip 版本。下面推荐的答案可能会起作用,但被公司的 IT 部门阻止,需要管理员登录才能完成。我已经离开了那个项目并希望避免类似的情况。

我正在尝试安装 WHL 文件

尝试运行时:

import pip
my_path = <a path to the WHL file>
pip.main(['install', my_path])

我收到一个属性错误:

'module' object has no attribute 'main'

我运行了 help(pip) 和

__main__ 

被列为包内容。

我正在控制台中运行 Python 3.4。

【问题讨论】:

  • 'main' != '__main__'
  • 你有什么版本的pip?可能值得运行 pip install --upgrade pip 以确保您拥有最新版本。
  • @ChristopherApple 在 Powershell 中运行 pip install 时收到:ImportError: cannot import name 'main'
  • 您的 pip 安装似乎有问题。也许试试easy_install pipeasy_install --upgrade pip

标签: python


【解决方案1】:

他们进行了重构。您可以通过以下方式同时支持 9 和 10 点:

try:
    from pip import main as pipmain
except:
    from pip._internal.main import main as pipmain

然后像使用 pip.main 一样使用 pipmain。例如

pipmain(['install', "--upgrade", "pip"])
pipmain(['install', "-q", "package"])

【讨论】:

  • 对“TypeError: 'module' object is not callable”有什么想法吗?
  • 看来 pip 已经更新了代码结构。我编辑了我的评论: from pip._internal.main import main as pipmain
【解决方案2】:

easy_install --upgrade pip 为我工作。

【讨论】:

    【解决方案3】:

    我的问题与我的 IDE (PyCharm) 有关。旧版本的 PyCharm 不支持 pip v10。升级 PyCharm 为我解决了这个问题。

    【讨论】:

    • 您能否说明您使用哪个版本的 PyCharm 来解决此问题
    【解决方案4】:

    对于更新版本的 pip (pip>=10.0.0),其他答案中描述的功能将不再有效。我建议使用subprocess 运行pip,如下所示:

    import subprocess
    import sys
    
    my_path = <a path to the WHL file>
    command_list = [sys.executable, "-m", "pip", "install", my_path]
    with subprocess.Popen(command_list, stdout=subprocess.PIPE) as proc:
        print(proc.stdout.read())
    

    此解决方案使用当前 python 可执行文件将 pip 命令作为命令行命令运行。它受到here 提到的解决方案的启发。

    【讨论】:

      【解决方案5】:

      从 pip 20.0.0 开始,它是:

      from pip._internal.cli.main import main as pipmain
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-27
        • 2018-09-24
        • 1970-01-01
        相关资源
        最近更新 更多