本文分享自华为云社区《揭开「pip不是内部或外部命令,也不是可运转的程序或批处理文件」的奥秘面纱》,作者:AXYZdong。

前言

pip不是内部或外部命令,也不是可运转的程序或批处理文件,它到底有多么奥秘?

不亲自体会,怎可知道?博主最近就体会了一把。

原本想用 pip install 几个包的,后来它提示我 pip 包要更新了,可是更新完之后,再用 pip install 的时分就会呈现下面的情况:

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

附:pip 包下载地址:pypi.org/project/pip…

一、揭开奥秘面纱

1、Scripts 文件夹未增加至环境变量

【解决方法】

1.找到自己 python 的装置目录

博主的是 : C:\Users\24144\AppData\Local\Programs\Python

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

2.增加环境变量

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

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

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

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

2、Scripts 文件夹中无 pip 包

一定要看看装置目录下 Scripts 文件夹中有没有 pip 包

如果没有的话,win + R ,翻开 cmd 命令,输入

easy_install pip

就能够重新装置了。

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

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

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

二、面纱背后的故事

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]:blog.csdn.net/miss85246/a…

[2]:blog.csdn.net/weixin_3037…

[3]:blog.csdn.net/weixin_4590…

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