如何从 Python 交互式 Shell 运行 Pip
更新 2022-11-20:我创建了 pipfromrepl 模块来简化这个过程。
对于学习编码的初学者来说,使用 pip 工具安装 Python 模块非常困难。 有几个潜在的问题:多个 Python 安装、虚拟环境、PATH 环境变量设置。 您必须介绍命令行终端和文件系统导航,以及 Windows 和 Mac/Linux 之间的区别。 但是,您可以从交互式 shell 运行一行代码来为您处理所有这一切。
要安装 Python 模块,请从交互式 shell(即带有 >>> 提示符的东西)运行以下代码:
import sys, subprocess; subprocess.run([sys.executable, '-m', 'pip', 'install', '--user', 'MODULE_NAME'])
如果您从虚拟环境中运行交互式 shell 并且收到如下错误 ERROR: Can not perform a '--user' install. User site-packages are not visible in this virtualenv.
,然后删除 --user
选项:
import sys, subprocess; subprocess.run([sys.executable, '-m', 'pip', 'install', 'MODULE_NAME'])
通常不建议运行某些网站告诉您的代码而不了解它的作用,所以让我们分解每个部分。
import sys, subprocess;
这将导入 sys
和 subprocess
内置模块,以便我们可以访问 sys.executable
变量和 subprocess.run()
功能。 这些模块位于 Python 的标准库中,因此它们始终已随 Python 安装。
分号让 Python 认为它是“行尾”,这样我们就可以在同一行上放置两条 Python 指令。
subprocess.run(
此函数调用模拟从终端或命令提示符窗口运行命令,但现在是从 Python 代码完成的。
sys.executable,
这 sys.executable
变量包含当前运行交互式 shell 的 Python 解释器的文件路径。 如果您有多个 Python 安装或虚拟环境并且想要运行您正在使用的当前 Python 解释器,这将特别有用。
'-m', 'pip', 'install', 'MODULE_NAME'])
当您使用以下命令运行 Python 解释器时 -m
选项,你正在运行一个模块(在我们的例子中,标准 pip
模块)作为脚本。 跑步 python -m pip
与运行相同 pip
工具本身。 这 'install', 'MODULE_NAME'
options 告诉 pip 从在线 Python Packaging Index 下载并安装模块。 运行这些说明时,您的计算机需要连接到互联网。
运行这些指令后,您应该会在窗口中看到 pip 的输出。 例如,当我安装 pyrect 模块时,交互式 shell 如下所示:
>>> import sys, subprocess; subprocess.run([sys.executable, '-m', 'pip', 'install', 'pyrect']) Collecting pyrect Using cached PyRect-0.2.0.tar.gz (17 kB) Preparing metadata (setup.py) ... done Building wheels for collected packages: pyrect Building wheel for pyrect (setup.py) ... done Created wheel for pyrect: filename=PyRect-0.2.0-py2.py3-none-any.whl size=11196 sha256=5b7fb5f14167a70c955fff3bb14eecfa557f07747f27a03b5c63834173a58f49 Stored in directory: c:usersalappdatalocalpipcachewheels2580fa27bb4a1c2e21f64ec71390489d52e57b7cc8afbe79bd595c5e Successfully built pyrect Installing collected packages: pyrect Successfully installed pyrect-0.2.0 CompletedProcess(args=['C:\Users\Al\.virtualenvs\deleteme-NM1HlCaN\Scripts\python.exe', '-m', 'pip', 'install', 'pyrect'], returncode=0)
要验证模块是否安装正确,请运行 import MODULE_NAME
. 如果没有出现错误信息,说明模块安装成功。
如果您正在教授 Python 课程或举办 Python 研讨会,当您需要它们从 PyPI 安装第三方模块时,使用此 Python 代码是避免混淆的好方法。 如果您想更详细地了解命令行、环境变量和类似主题,您可以阅读我的免费书籍 Beyond the Basic Stuff with Python 的第 2 章。