“pip不是内部或外部命令,也不是可运行的程序或批处理文件” 到底有多么神秘
摘要:pip不是内部或外部命令,也不是可运行的程序或批处理文件到底有多么神秘?
本文分享自华为云社区《揭开「pip不是内部或外部命令,也不是可运行的程序或批处理文件」的神秘面纱》,作者:AXYZdong。
前言
pip不是内部或外部命令,也不是可运行的程序或批处理文件到底有多么神秘?
不亲身体验,怎可知道?博主最近就体验了一把。
本来想用 pip install 几个包的,后来它提示我 pip 包要更新了,我就跟它意思更新,但是更新完之后,再用 pip install 的时候就会出现下面的情况:

一、揭开神秘面纱
1、Scripts 文件夹未添加至环境变量
【解决方法】
1.找到自己 python 的安装目录
博主的是 : C:\Users\24144\AppData\Local\Programs\Python

2.添加环境变量
如图所示,只要将Python文件夹下的Scripts文件夹加入到路径环境变量中参考其截图,去添加对应的环境变量: C:\Users\24144\AppData\Local\Programs\Python\ Scripts到Path环境变量中去,因为改路径中包含了对应的PIP程序,所以这样就轻松的可以解决PIP无法运行的问题了右键点击:此电脑- >属性- >高级系统设置- >高级- >环境变量- >路径- >修改,添加成功以后就可以运行了。

其实在Python的安装界面有将Python添加到环境变量的选项

2、Scripts 文件夹中无 pip 包
一定要看看安装目录下 Scripts 文件夹中有没有 pip 包
如果没有的话,win + R ,打开 cmd 命令,输入
easy_install pip
就可以重新安装了。
博主就是在更新完 pip 后,Scripts 文件夹中就没有 pip 包了。
安装完之后 Scripts 文件夹里面应该是这样的:

附:pip 包下载地址:https://pypi.org/project/pip/#downloads
二、面纱背后的故事
pip更新可能遇到的问题
输入 pip install openpyxl,出现更新提示(注:openpyxl是一种包)
C:\Users\24144\AppData\Local\Programs\Python\Python37\Scripts>pip install openpyxl
Collecting openpyxl
Using cached https://files.pythonhosted.org/packages/1c/5d/e9087edae37ed185e883c9ec727215caba8b4044a8111ff033ebad85e508/openpyxl-3.0.1.tar.gz
Collecting jdcal (from openpyxl)
Using cached https://files.pythonhosted.org/packages/f0/da/572cbc0bc582390480bbd7c4e93d14dc46079778ed915b505dc494b37c57/jdcal-1.4.1-py2.py3-none-any.whl
Collecting et_xmlfile (from openpyxl)
Using cached https://files.pythonhosted.org/packages/22/28/a99c42aea746e18382ad9fb36f64c1c1f04216f41797f2f0fa567da11388/et_xmlfile-1.0.1.tar.gz
Installing collected packages: jdcal, et-xmlfile, openpyxl
Running setup.py install for et-xmlfile ... done
Running setup.py install for openpyxl ... done
Successfully installed et-xmlfile-1.0.1 jdcal-1.4.1 openpyxl-3.0.1
WARNING: You are using pip version 19.2.3, however version 19.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
输入 pip install --upgrade pip
C:\Users\24144\AppData\Local\Programs\Python\Python37\Scripts>pip install --upgrade pip
Collecting pip
Using cached https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 19.2.3
Uninstalling pip-19.2.3:
Successfully uninstalled pip-19.2.3
ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。: 'C:\\Users\\hp\\AppData\\Local\\Temp\\pip-uninstall-aj7beqe0\\pip.exe'
Consider using the `--user` option or check the permissions.
出现拒绝访问,输入 pip install --user --upgrade pip 即可
总结
用pip安装扩展包,要先转到pip 的安装目录下。一般是在python的scripts目录下。
若果发现出现「pip不是内部或外部命令,也不是可运行的程序或批处理文件」这个问题后,先检查Scripts 文件夹中有没有 pip 包,再看Scripts 文件夹有没有添加至环境变量。
【扩展】:
无论何时,在cmd中出现了:
不是内部或外部命令,也不是可运行的程序或批处理文件的错误
那都是没有找到对应的可执行程序,所以:
1.本身系统中的确没有这个可执行程序 \to→ 下载或安装此种程序,再记得确保PATH中包含对应路径。
2.有此程序,但是PATH中没有包含对应的路径 \to→ 添加对应的路径到PATH中即可。
【参考文献】
[1]:https://blog.csdn.net/miss85246/article/details/81069276
[2]:https://blog.csdn.net/weixin_30375427/article/details/96542832
[3]:https://blog.csdn.net/weixin_45905909/article/details/103170453
“pip不是内部或外部命令,也不是可运行的程序或批处理文件” 到底有多么神秘的更多相关文章
- pip不是内部或外部命令也不是可运行的程序或批处理文件的问题
当我用windows电脑 pip install missingno 时 它居然会报pip不是内部或外部命令也不是可运行的程序或批处理文件的问题! 解决方法: 1)找到 pip.exe 所在位置,一般 ...
- 'webpack' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
npm updatea -g 很严重,把本地npm安装包都更新了,跟项目npm安装包版本不一,导致 意思是版本冲突,手动卸载了,重新安装还是最新版本,很是头疼.找同事的电脑拷贝了一份,然后复制过来报“ ...
- 'express'不是内部或外部命令, 也不是可运行的程序, 或批处理文件
1. npm install -g express-generator 安装新的express框架2. express -h 错误提示: 'express'不是内部或外部命令, 也不是可运行的程序, ...
- 'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
一定要发现自己的问题不要盲目从众 1.把maven的安装包解压 2.配置环境变量 3.配置path路径 4.在dos下测试一下 结果出现:'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文 ...
- 20200221_python虚拟环境在Windows下安装配置_virtualenv不是内部或外部命令也不是可运行的程序或批处理文件
1. 使用管理员启动命令行; 2. 安装虚拟环境 a) .\pip install virtualenv -i https://pypi.douban.com/simple/ b) ...
- CMD命令:不是内部或者外部命令也不是可运行的程序或批处理文件
[本文转自:https://blog.csdn.net/l_mloveforever/article/details/79513681] 前言: 相信有很多小伙伴都比较喜欢使用Command命令来 ...
- 'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件.
如果你只需要使用javac命令不需要如此复杂的!! 你先把你自己新建的JAVA_HOME.CLASSPATH这两个变量和PATH变量中的JAVA_HOME%\bin;%JAVA_HOME%\jre\b ...
- 'telnet' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
Win7或者win8等是默认没有安装telnet功能,所以你直接用telnet命令是用不了的: 下面介绍在win8下面如何操作:“控制面板”-->“程序”(在左下角)-->程序和功能--- ...
- CMD 中运行 xx 命令提示 不是内部或外部命令,也不是可运行的程序或批处理文件的问题
出现这个问题的原因一般有2个 这个命令依赖某个软件,而你又没有安装 这里你只需要去下载安装好对应的软件,基本上就可以解决上面的问题了. 软件安装好了,但是需要配置环境变量 第二个原因就按照下图,去设置 ...
- 'cmd' 不是内部或外部命令,也不是可运行的程序 或批处理文件.
添加path内容: %SystemRoot%\system32; %SystemRoot%; %SystemRoot%\System32\Wbem;
随机推荐
- Acwing周赛102
倍增 这是一道简单数论题 using namespace std; typedef long long LL; const int N = 1e5 + 10; int a[N], n; int div ...
- Unity进阶提升-2D游戏跳跃手感优化(跳起下落)
在进行2D游戏开发时,跳跃是不可缺少的一个重要功能.但是我们在Unity开发时Unity本身的物理引擎并不能提供很好的的手感,下落的时候轻飘飘的,这操作起来显然非常不舒服.所以,我们需要自己对跳跃进行 ...
- k8s-服务网格实战-配置 Mesh(灰度发布)
在上一篇 k8s-服务网格实战-入门Istio中分享了如何安装部署 Istio,同时可以利用 Istio 实现 gRPC 的负载均衡. 今天我们更进一步,深入了解使用 Istio 的功能. 从 Ist ...
- require()、import、import()有哪些区别?
require().import.import()是我们常用的引入模块的三种方式,代码中几乎处处用到.如果对它们存在模糊,就会在工作过程中不断产生困惑,更无法做到对它们的使用挥洒自如.今天我们来一起捋 ...
- AcWing 178. 第K短路
题意 给定一张 \(N\) 个点(编号 \(1,2-N\)),\(M\) 条边的有向图,求从起点 \(S\) 到终点 \(T\) 的第 \(K\) 短路的长度,路径允许重复经过点或边. 注意: 每条最 ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-31-JavaScript的调用执行-上篇
1.简介 在做web自动化时,有些情况playwright的api无法完成以及无法应对,需要通过或者借助第三方手段比如js来完成实现,比如:去改变某些元素对象的属性或者进行一些特殊的操作,本文讲解pl ...
- Reflect API:每个 JavaScript 开发人员都需要的瑞士军刀
前言 您是否曾经希望拥有一个神奇的工具包,可以让您像超级英雄一样控制 JavaScript 对象?向ReflectAPI 打个招呼吧,它是 ES6 中引入的一个新的全局对象 ,它能够处理简单的代码操作 ...
- c++学习,和友元函数
第一友元函数访问私有元素时不会显示,但是是可以调用的(我使用的是gcc10.3版本的)友元函数可以访问任何元素.就是语法你别写错了. 继承如果父类已经写了构造函数,子类一定要赋值给构造函数,要么父类就 ...
- [清华集训2017] Hello World!
Hello world! 题目背景 不远的一年前,小 V 还是一名清华集训的选手,坐在机房里为他已如风中残烛的OI 生涯做最后的挣扎.而如今,他已成为了一名光荣的出题人.他感到非常激动,不禁感叹道: ...
- wait/sleep的不同
整体的区别其实是有四个:1.所属类不同: sleep是线程中的方法,但是wait是Object中的方法.2.语法不同: sleep方法不依赖于同步器synchronized,但是wait需要依赖syn ...