尝试安装模块时出现 Python “无模块pip.__main__;”错误



我的树莓派上收到以下错误:No module named pip__main__; 'pip' is a package and cannot be directly executed

当我输入终端时:sudo python3 -m pip install mp3play

是什么原因造成的,我该如何解决它以便我可以安装模块mp3play

Pip 不仅是一个独立的可执行文件,也是一个 python 模块。

事实上,在python文档中,它直接建议使用-m语法来使用pip安装软件包。

请参阅 https://docs.python.org/3.5/installing/index.html#basic-usage:

标准打包工具都设计为从命令行使用。

以下命令将从 Python 打包索引安装最新版本的模块及其依赖项:

python -m pip install SomePackage

我的猜测是,您的系统pip(可执行文件(被 python2 版本的 pip 可执行文件所掩盖。但听起来你没有安装pip(模块(,以便你的python3可执行文件可以找到它,所以你可能需要重新安装pip(模块(。

为此,使用 python3 -m ensurepip(ensurepip 的文档(,如果 python3 解释器的 persepent 不存在,它将安装 pip。

另一个问题可能是它在当前目录中找到一个名为 pip 的文件、可执行文件或目录,并且它试图将该pip视为模块,而它实际上不是一个模块。

如果不是我不确定。但这绝对不是因为 pip 不是一个模块。

遇到了同样的问题,以前的答案都没有为我解决。

当我卸载并重新安装 python 到我的 PC 时出现错误。看起来以前现有的pip版本并没有完全删除,当我尝试用python -m pip install package导入它时,它实际上是在尝试调用以前的版本。

要解决它,首先手动删除以下位置的 pip 文件夹:

C:Usersusernamepip
C:UsersusernameAppDataLocalpip
C:UsersusernameAppDataLocalProgramsPythonPython**libsite-packagespip***
C:Python**pip

然后下载 get-pip.py。

最后,导航到下载它的文件夹并运行:

python get-pip.py

此过程应重新安装 pip 并解决问题。

pip是一个独立的可执行文件。如果pip在你的路径中,你可以只执行

pip install mp3play

如果pip不在您的路径中,则需要导航到pip所在的目录,然后执行上述操作。

如果需要,请将sudo添加到命令中。

您遇到的确切错误是由于pip是一个包,但-m用于执行模块。

编辑:pip还附带了几个有用的别名函数,指向不同的Python安装。通常,pip指向您的主要 Python 安装(您在简单地执行 python 时输入的安装(,pipV其中V是一个数字,例如 23 将安装添加到版本 V 的主要 Python(pip3添加到您的python3环境中(。最后还有pipV.S V和以前一样,S是颠覆。例如,pip3.4 Python 3.4 的安装。

我遇到了同样的问题。 我发现一个旧的pip目录是从python 2.7安装中遗留下来的,在C:Usersmy-usernamepip。 这导致 python 尝试从那里加载 pip 并失败。

我删除了该目录,我的错误刚刚变得No module named pip.

我还没有解决问题,但我正在 http://bugs.python.org/issue29586

解释:

当现有 pip 模块在升级时可能受到影响时,可能会发生这种情况。

您可能会在site-packages中观察到,任何所需的文件/文件夹都已使用前导~重命名,例如pip更改为~ip或带有前导~的子文件夹。

因此,在参考模块 pip 的同时,如果找不到所需的可执行文件。

发生这种情况的原因如下:

卸载软件包时,pip 现在会将其重命名为名称无法导入,并且一旦确认了所有内容将成功(包括安装新版本,如果它正在执行升级(,只有这样它才会删除这些文件夹。如果出现问题,它将它们重命名回来。

溶液:

除了通过@Djib2011的解决方案外,您还可以使用全新安装 pip 模块:

py <-version> -m ensurepip --upgrade

其中<-version>是一个可选参数,可以替换为您一直面临问题的 Python 版本,例如-3.8 .

Python

带有一个ensurepip模块,可以在Python环境中安装pip。这将安装pip模块,该模块最初与您一直在使用的python版本一起打包。

发布后,您可以运行升级命令将 pip 移植到较新版本。

py <-version> -m pip install --upgrade pip

如果您因许可而面临任何EnvironmentError,您可以附加--user选项。

参考:

  1. 点子安装
  2. PIP如何删除带有前导破折号的错误安装的软件包

最新更新