摘要: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不是内部或外部命令,也不是可运行的程序或批处理文件” 到底有多么神秘的更多相关文章

  1. pip不是内部或外部命令也不是可运行的程序或批处理文件的问题

    当我用windows电脑 pip install missingno 时 它居然会报pip不是内部或外部命令也不是可运行的程序或批处理文件的问题! 解决方法: 1)找到 pip.exe 所在位置,一般 ...

  2. 'webpack' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    npm updatea -g 很严重,把本地npm安装包都更新了,跟项目npm安装包版本不一,导致 意思是版本冲突,手动卸载了,重新安装还是最新版本,很是头疼.找同事的电脑拷贝了一份,然后复制过来报“ ...

  3. 'express'不是内部或外部命令, 也不是可运行的程序, 或批处理文件

    1. npm install -g express-generator 安装新的express框架2. express -h 错误提示: 'express'不是内部或外部命令, 也不是可运行的程序, ...

  4. 'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    一定要发现自己的问题不要盲目从众 1.把maven的安装包解压 2.配置环境变量 3.配置path路径 4.在dos下测试一下 结果出现:'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文 ...

  5. 20200221_python虚拟环境在Windows下安装配置_virtualenv不是内部或外部命令也不是可运行的程序或批处理文件

    1. 使用管理员启动命令行; 2. 安装虚拟环境 a)      .\pip install virtualenv  -i https://pypi.douban.com/simple/ b)     ...

  6. CMD命令:不是内部或者外部命令也不是可运行的程序或批处理文件

    [本文转自:https://blog.csdn.net/l_mloveforever/article/details/79513681] 前言:   相信有很多小伙伴都比较喜欢使用Command命令来 ...

  7. 'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件.

    如果你只需要使用javac命令不需要如此复杂的!! 你先把你自己新建的JAVA_HOME.CLASSPATH这两个变量和PATH变量中的JAVA_HOME%\bin;%JAVA_HOME%\jre\b ...

  8. 'telnet' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    Win7或者win8等是默认没有安装telnet功能,所以你直接用telnet命令是用不了的: 下面介绍在win8下面如何操作:“控制面板”-->“程序”(在左下角)-->程序和功能--- ...

  9. CMD 中运行 xx 命令提示 不是内部或外部命令,也不是可运行的程序或批处理文件的问题

    出现这个问题的原因一般有2个 这个命令依赖某个软件,而你又没有安装 这里你只需要去下载安装好对应的软件,基本上就可以解决上面的问题了. 软件安装好了,但是需要配置环境变量 第二个原因就按照下图,去设置 ...

  10. 'cmd' 不是内部或外部命令,也不是可运行的程序 或批处理文件.

    添加path内容: %SystemRoot%\system32; %SystemRoot%; %SystemRoot%\System32\Wbem;

随机推荐

  1. GIT协作流程规范

    分支模型 集中式的分支模型 目前团队使用的模式属于老旧的集中式分支模型,简单的总结就是: 开发时: 团队的所有成员都在dev分支上开发(也支持少部分的特性分支feature-xxx). 测试时: 当功 ...

  2. JavaScript 语法:语法约定与程序调试

    作者:WangMin 格言:努力做好自己喜欢的每一件事 JavaScript 语法约定 1.大小写的区分 1). JavaScript的关键字,永远都是小写的: 2). 内置对象,如Math和Date ...

  3. C#判断字符串的显示宽度

    C#判断字符串的显示宽度 起因: 公司有一个使用项目使用HTML转换为PDF,其中有一个表格,表格的最后一列中的单元格,其字符串超长后会被丢弃,而不是换行到下一行展示(HtmlToPdf渲染引擎导致的 ...

  4. parallel-comparator-200

    直接上来就是c代码,这种题还是第一次做,直接写代码逆向回去就行了 但是奈何水平太低写不回去... 分析 需要下面的两个字符串相等才能得到正确的程序,若要相等就只能让result等于0 那就意味着亦或的 ...

  5. P2360 地下城主

    题目大意 背景是逃离\(3D\)地下监狱,也就是三维样例,你可以前往所在小格的前方,后方,左方,右方,上层,下层的小格,'.'表示可走,'x'表示墙壁,'S'表示起点,'E'表示终点.每走一小格花费一 ...

  6. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-34-处理https 安全问题或者非信任站点-下篇

    1.简介 这一篇宏哥主要介绍playwright如何在IE.Chrome和Firefox三个浏览器上处理不信任证书的情况,我们知道,有些网站打开是弹窗,SSL证书不可信任,但是你可以点击高级选项,继续 ...

  7. .NET8极致性能优化CHRL

    前言 .NET8在.NET7的基础上进行了进一步的优化,比如CHRL(全称:CORINFO_HELP_RNGCHKFAIL)优化技术,CORINFO_HELP_RNGCHKFAIL是边界检查,在.NE ...

  8. [ABC310G] Takahashi And Pass-The-Ball Game

    Problem Statement There are $N$ Takahashi. The $i$-th Takahashi has an integer $A_i$ and $B_i$ balls ...

  9. [ARC161F] Everywhere is Sparser than Whole (Judge)

    Problem Statement We define the density of a non-empty simple undirected graph as $\displaystyle\fra ...

  10. Asp.net core Webapi 如何执行定时任务?

    前言 在计算机系统中,定时执行一些后台任务是很常见的场景,比如定时发送邮件.备份数据等等. 那么,.NET 技术如何通过编程灵活地实现项目里复杂的自定义任务呢? 如果是 Windows 生态,通常来说 ...