Python`no module pip .__ main __;`尝试安装模块时出错

时间:2015-02-22 22:29:25

标签: python pip

我在Raspberry Pi上收到以下错误:No module named pip__main__; 'pip' is a package and cannot be directly executed

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

导致此问题的原因是什么以及如何修复它以便我可以安装模块mp3play

4 个答案:

答案 0 :(得分:4)

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

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

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

  

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

     

以下命令将从Python Packaging Index安装最新版本的模块及其依赖项:

python -m pip install SomePackage

我的猜测是你的系统pip(可执行文件)被pip可执行文件的python2版本遮蔽了。但是听起来你没有安装pip(模块)这样你的python3可执行文件就可以找到它,所以你可能需要专门重新安装pip(模块)。

对于那个使用python3 -m ensurepipdocs for ensurepip),如果python3解释器的persepctive中没有pip,它将安装pip。

另一个问题可能是它在当前目录中找到了一个名为pip的文件,可执行文件或目录,并且它正试图将pip视为一个模块,而事实上并非如此一个模块。

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

答案 1 :(得分:3)

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。

答案 2 :(得分:1)

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

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

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

处理这个问题。

答案 3 :(得分:1)

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

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

要先解决此问题在以下位置手动删除 pip文件夹:

C:\Users\username\pip
C:\Users\username\AppData\Local\pip
C:\Users\username\AppData\Local\Programs\Python\Python**\lib\site-packages\pip***
C:\Python**\pip

然后下载get-pip.py

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

python get-pip.py

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