NameError: name ‘pip’ 未在 Python 中定义[已解决]
NameError: name ‘pip’ is not defined in Python [Solved]
出现“NameError: name ‘pip’ is not defined”的原因有多种:
pip
尝试在交互式 shell 会话中使用命令。pip
尝试在 Python 模块内使用命令。
在使用 pip 之前退出交互式 shell 会话
如果您通过在终端中键入“python”、“python3”或“py”进入交互式 shell 会话,请使用 ,exit()
或exit
按CTRL + D
退出 shell 会话。
壳
exit()
退出 shell 会话后,您可以发出任何pip
命令。
主程序
pip install requests # 👇️ or with pip3 pip3 install requests
尝试从 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.py
,python3 main.py
或py 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
确保替换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
.
结论
要解决“NameError: name ‘pip’ is not defined”,请确保:
- 您不是要
pip
在交互式 shell 会话中使用命令。 - 您不会尝试
pip
直接在 Python 模块中使用命令。