如何在Python交互式Shell中运行pip?

3

我想在Python交互式shell中安装第三方Python模块,而不是使用终端或命令提示符。我需要运行哪些Python指令来完成此操作,以便可以导入已安装的模块并开始使用它?

(对于那些想知道为什么要这样做的人:我需要可靠的指令来安装第三方模块,以供那些不知道如何浏览命令行、不知道如何设置他们的PATH环境变量、可能有多个Python版本安装的用户使用。这是一个独特的设置,在这种情况下,“只需使用终端窗口”不是一个可行的选择。)

1个回答

6

从交互式 shell(带有 >>> 提示符)运行以下命令,将 MODULE_NAME 替换为您要安装的模块名称:

import sys, subprocess; subprocess.run([sys.executable, '-m', 'pip', 'install', '--user', 'MODULE_NAME'])

您将看到 pip 的输出。您可以通过尝试导入它来验证模块是否成功安装:

import MODULE_NAME

如果在导入时没有出现错误,则说明该模块已成功安装。


4
为什么你想要这样做?大部分情况下,只需使用 exit()pip install 模块名称pythonimport 模块名称 更加容易和简单。 - Matiiss
2
因为如果PATH环境变量没有正确设置,他们将无法找到pip,并且设置PATH的说明将根据操作系统而异。如果他们安装了多个版本的Python,则可能会将模块安装到错误的版本中,从而导致更多混乱。我需要一个简单的“在交互式shell中输入此命令”的说明,无论环境设置如何都可以使用。 - Al Sweigart
点赞。subprocess.run([sy.executable, *args]) 技巧是我所知道的从脚本中运行用 Python 编写的程序最佳方式,当程序本身没有像 pip 那样公开的 API 时。 - Dimitri Merejkowsky
我从未深入研究过这个话题,但如果我理解正确的话,这种方法可能会产生一些不必要的副作用,需要注意:https://pip.pypa.io/en/stable/user_guide/#using-pip-from-your-program - sinoroc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接