“pip不是内部或外部命令,也不是可运行的程序或批处理文件” 到底有多么神秘

x33g5p2x  于2022-02-28 转载在 其他  
字(7.7k)|赞(0)|评价(0)|浏览(237)

本文分享自华为云社区《揭开「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 命令,输入

<span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-c">easy_install pip
</code></span></span>

就可以重新安装了。

博主就是在更新完 pip 后,Scripts 文件夹中就没有 pip 包了。

安装完之后 Scripts 文件夹里面应该是这样的:

附:pip 包下载地址

二、面纱背后的故事

pip更新可能遇到的问题

输入 pip install openpyxl,出现更新提示(注:openpyxl是一种包)

<span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-c">C<span style="color:#67cdcc">:</span>\Users\<span style="color:#f08d49">24144</span>\AppData\Local\Programs\Python\Python37\Scripts<span style="color:#67cdcc">></span>pip install openpyxl
Collecting openpyxl
  Using cached https<span style="color:#67cdcc">:</span><span style="color:#999999">//files.pythonhosted.org/packages/1c/5d/e9087edae37ed185e883c9ec727215caba8b4044a8111ff033ebad85e508/openpyxl-3.0.1.tar.gz</span>
Collecting <span style="color:#f08d49">jdcal</span> <span style="color:#cccccc">(</span>from openpyxl<span style="color:#cccccc">)</span>
  Using cached https<span style="color:#67cdcc">:</span><span style="color:#999999">//files.pythonhosted.org/packages/f0/da/572cbc0bc582390480bbd7c4e93d14dc46079778ed915b505dc494b37c57/jdcal-1.4.1-py2.py3-none-any.whl</span>
Collecting <span style="color:#f08d49">et_xmlfile</span> <span style="color:#cccccc">(</span>from openpyxl<span style="color:#cccccc">)</span>
  Using cached https<span style="color:#67cdcc">:</span><span style="color:#999999">//files.pythonhosted.org/packages/22/28/a99c42aea746e18382ad9fb36f64c1c1f04216f41797f2f0fa567da11388/et_xmlfile-1.0.1.tar.gz</span>
Installing collected packages<span style="color:#67cdcc">:</span> jdcal<span style="color:#cccccc">,</span> et<span style="color:#67cdcc">-</span>xmlfile<span style="color:#cccccc">,</span> openpyxl
  Running setup<span style="color:#cccccc">.</span>py install <span style="color:#cc99cd">for</span> et<span style="color:#67cdcc">-</span>xmlfile <span style="color:#cccccc">.</span><span style="color:#cccccc">.</span><span style="color:#cccccc">.</span> done
  Running setup<span style="color:#cccccc">.</span>py install <span style="color:#cc99cd">for</span> openpyxl <span style="color:#cccccc">.</span><span style="color:#cccccc">.</span><span style="color:#cccccc">.</span> done
Successfully installed et<span style="color:#67cdcc">-</span>xmlfile<span style="color:#67cdcc">-</span><span style="color:#f08d49">1.0</span><span style="color:#f08d49">.1</span> jdcal<span style="color:#67cdcc">-</span><span style="color:#f08d49">1.4</span><span style="color:#f08d49">.1</span> openpyxl<span style="color:#67cdcc">-</span><span style="color:#f08d49">3.0</span><span style="color:#f08d49">.1</span>
WARNING<span style="color:#67cdcc">:</span> You are using pip version <span style="color:#f08d49">19.2</span><span style="color:#f08d49">.3</span><span style="color:#cccccc">,</span> however version <span style="color:#f08d49">19.3</span><span style="color:#f08d49">.1</span> is available<span style="color:#cccccc">.</span>
You should consider upgrading via the <span style="color:#7ec699">'python -m pip install --upgrade pip'</span> command<span style="color:#cccccc">.</span>

</code></span></span>

输入 pip install --upgrade pip

<span style="background-color:#2d2d2d"><span style="color:#cccccc"><code class="language-c">C<span style="color:#67cdcc">:</span>\Users\<span style="color:#f08d49">24144</span>\AppData\Local\Programs\Python\Python37\Scripts<span style="color:#67cdcc">></span>pip install <span style="color:#67cdcc">--</span>upgrade pip
Collecting pip
  Using cached https<span style="color:#67cdcc">:</span><span style="color:#999999">//files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl</span>
Installing collected packages<span style="color:#67cdcc">:</span> pip
  Found existing installation<span style="color:#67cdcc">:</span> pip <span style="color:#f08d49">19.2</span><span style="color:#f08d49">.3</span>
    Uninstalling pip<span style="color:#67cdcc">-</span><span style="color:#f08d49">19.2</span><span style="color:#f08d49">.3</span><span style="color:#67cdcc">:</span>
      Successfully uninstalled pip<span style="color:#67cdcc">-</span><span style="color:#f08d49">19.2</span><span style="color:#f08d49">.3</span>
ERROR<span style="color:#67cdcc">:</span> Could not install packages due to an EnvironmentError<span style="color:#67cdcc">:</span> <span style="color:#cccccc">[</span>WinError <span style="color:#f08d49">5</span><span style="color:#cccccc">]</span> 拒绝访问。<span style="color:#67cdcc">:</span> <span style="color:#7ec699">'C:\\Users\\hp\\AppData\\Local\\Temp\\pip-uninstall-aj7beqe0\\pip.exe'</span>
Consider using the `<span style="color:#67cdcc">--</span>user` option or check the permissions<span style="color:#cccccc">.</span>

</code></span></span>

出现拒绝访问,输入 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

点击关注,第一时间了解华为云新鲜技术~​

相关文章