为什么我得到ImportError:安装pip后没有名为pip的模块?

时间:2015-09-17 20:07:23

标签: python windows-7 pip

我已经安装了pip和ez设置。我还检查了系统路径,我可以看到文件夹结构中的模块。仍然当我尝试运行pip命令时,我得到导入错误,说没有名为pip的模块。我在windows7机器上运行32位python

16 个答案:

答案 0 :(得分:53)

请确保您已将python包含在Windows PATH变量中,然后运行python -m ensurepip

答案 1 :(得分:14)

在运行get_pip.py并嵌入python之后,您必须修改pythonXX._pth文件。添加Lib\site-packages,得到如下内容:

pythonXX.zip
.
Lib\site-packages
# Uncomment to run site.main() automatically
#import site

如果不这样做,您将收到此错误:

ModuleNotFoundError:没有名为“ pip”的模块

python-3.8.2-embed-amd64 \ python.exe:没有名为pip的模块

λ pip
Traceback (most recent call last):
  File "runpy.py", line 193, in _run_module_as_main
  File "runpy.py", line 86, in _run_code
  File "python-3.8.2-embed-amd64\Scripts\pip.exe\__main__.py", line 4, in <module>
ModuleNotFoundError: No module named 'pip'

λ python -m pip
python-3.8.2-embed-amd64\python.exe: No module named pip

答案 2 :(得分:6)

尝试键入pip3而不是pip。 也用于升级pip,不要在命令中使用pip3

python -m pip install -U pip

也许有帮助

答案 3 :(得分:2)

版本3.4中添加了ensurepip模块,然后向后移植到2.7.9。

因此,如果使用Python 2,请确保您的Python版本至少为2.7.9,如果使用Python 3,则至少为3.4。

答案 4 :(得分:2)

原来我的笔记本电脑上有2个版本的python

两个命令都对我有用

python -m ensurepip
py -m ensurepip

两者都有另一个安装路径

c:\tools\python\lib\site-packages
c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages 

只有第一个路径在我的%PATH%变量中

答案 5 :(得分:2)

我在寻找相同问题的解决方案时发现了这篇文章。我使用的是嵌入式 python 发行版。在这种情况下,解决方案是取消文件 import site 中的 python<version>._pth 注释。

答案 6 :(得分:1)

遵循https://michlstechblog.info/blog/python-install-python-with-pip-on-windows-by-the-embeddable-zip-file/

中给出的步骤
  
      
  1. 通过重命名绕过pythonxx .__ pth
  2.   
  3. 将以下内容添加到环境变量中
  4.   
D:\Pythonx.x.x 
D:\Python3.6.5\DLLs
D:\Pythonx.x.x\lib
D:\Pythonx.x.x\lib\plat-win 
D:\Pythonx.x.x\lib\site-packages

答案 7 :(得分:1)

我也遇到了同样的问题,并按照以下步骤解决了

1)转到您的paython软件包,并将“ python37._pth”重命名为python37._pth.save

2)卷曲https://bootstrap.pypa.io/get-pip.py -o get-pip.py

3)然后运行python get-pip.py

4)pip安装Django

希望获得帮助

答案 8 :(得分:1)

运行这两个命令对我有帮助:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python get-pip.py

答案 9 :(得分:0)

如果你想在Windows上运行pip,你必须从命令行转到下一个文件夹:

cd C:\Python34\Scripts

并在那里运行命令或使用下一个源来安装pip: https://pip.pypa.io/en/latest/installing/

答案 10 :(得分:0)

我已解决此错误,下载了python 3.7的可执行文件。 我已经下载了嵌入式版本并收到该错误。 现在可以了! :D

答案 11 :(得分:0)

解决我的案子的原因是:

cd C:\Program Files\Python37\Scripts

并运行以下命令:

easy_install.exe pip

答案 12 :(得分:0)

我通过设置正确的路径变量解决了该错误

    C:\Users\name\AppData\Local\Programs\Python\Python37\Scripts
    C:\Users\name\AppData\Local\Programs\Python\Python37\Lib\site-packages

答案 13 :(得分:0)

如果你写过

pip install --upgrade pip

你得到

Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.2.1
    Uninstalling pip-20.2.1:
ERROR: Could not install packages due to an EnvironmentError...

然后您已经卸载了pip而不是安装pip。 这可能是您遇到问题的原因。

Gorodeckij Dimitrij的答案对我有用。

python -m ensurepip

答案 14 :(得分:0)

当我尝试升级pip版本时,会发生此问题。 使用以下命令已解决该问题:

fun transmitData(bytes: ByteArray, progress: Int, context: Context, listener: (Int, Context) -> Unit): Boolean{
    return if (isConnected && isReady && txCharacteristic != null){
        requestMtu(MTU).enqueue()
        writeCharacteristic(txCharacteristic, bytes)
            .with { device, data ->
            
            }
            .fail { device, status ->
                
            }
            .done {
                listener(progress, context) 
            }
            .enqueue()
    
        true
    } else {
        false
    }
}

上面的命令还原点,下面提到的升级点。

foreach($groupCity in $myObject | Group-Object 'city')
   Write-Host($groupCity.Name)
   foreach($groupStreet in $groupCity.Group | Group-Object 'street'){
      Write-Host($groupStreet.Name)
      <#and so on...#>
   }
}

答案 15 :(得分:0)

我要讲的方法可能不是正确的方法。但是这种方法解决了我的问题。我尝试了 youtube 和 StackOverflow 方法上的所有解决方案。

  1. 如果你安装了两个 python 版本。删除一个。我安装了 python 3.8.1 和 3.9.0 版本。我从 C 目录中删除了 3.9.0 版本。

  2. 现在转到控制面板 > 系统和安全 > 系统 > 高级系统设置。

enter image description here

点击“环境变量”。

enter image description here

选择路径并点击“编辑”

现在,添加python的路径和pip模块的路径。就我而言,它是 c:\python38 和 c:\python38\scripts

这个方法解决了我的问题。