NameError: name ‘pip’ is not defined in Python [已解决]

NameError: name ‘pip’ 未在 Python 中定义[已解决]

NameError: name ‘pip’ is not defined in Python [Solved]

出现“NameError: name ‘pip’ is not defined”的原因有多种:

  1. pip尝试在交互式 shell 会话中使用命令。
  2. pip尝试在 Python 模块内使用命令。

nameerror 名称 pip 未安装

在使用 pip 之前退出交互式 shell 会话

如果您通过在终端中键入“python”、“python3”或“py”进入交互式 shell 会话,请使用 ,exit()exitCTRL + D退出 shell 会话。

exit()

退出互动会话

退出 shell 会话后,您可以发出任何pip命令。

主程序
pip install requests # 👇️ or with pip3 pip3 install requests

pip安装包

尝试从 Python 模块内部运行 pip 命令

错误的另一个常见原因是尝试pip从 Python 模块运行命令。

以下是如何在 Python 脚本中安装模块的示例。

以下文件名为main.py.

主程序
import sys import subprocess python = sys.executable subprocess.check_call( [python, '-m', 'pip', 'install', 'requests'], stdout=subprocess.DEVNULL )

从脚本中安装模块

您可以使用 运行文件python main.pypython3 main.pypy main.py安装requests模块。

确保替换requests为您要安装的模块的名称。

stdout如果您想pip在运行时查看命令的输出,也可以删除关键字参数python main.py

主程序
# ✅ shows output of pip install command import sys import subprocess python = sys.executable subprocess.check_call( [python, '-m', 'pip', 'install', 'requests'] )

从你的 shell 安装一个包pip

下面是一个如何从 shell 安装包的示例(例如 CMD、PowerShell、bash 等)。

pip install requests pip3 install requests # 👇️ if you don't have pip in your PATH environment variable python -m pip install requests python3 -m pip install requests # 👇️ using py alias (Windows) py -m pip install requests # 👇️ if you get permissions error pip install requests --user

从 shell 中安装包

确保替换requests为您要安装的包的名称。

升级你的版本pip

如果仍然报错,请尝试运行以下命令进行升级pip

# 👇️ On Linux or macOS python -m ensurepip --upgrade # 👇️ using python 3 python3 -m ensurepip --upgrade # 👇️ On Windows py -m ensurepip --upgrade

升级你的 pip 版本

如果您收到未找到的错误pip或“没有名为 pip 的模块”,请查看我的另一篇文章,其中包含有关如何安装和升级pip.

结论

要解决“NameError: name ‘pip’ is not defined”,请确保:

  1. 您不是要pip在交互式 shell 会话中使用命令。
  2. 您不会尝试pip直接在 Python 模块中使用命令。