使用 Python 中的 pip 模块安装模块

Tre*_*van 2 python pip python-3.x

我的目标是使用pipPython 3.6 代码中的模块来安装新的 Python 模块。但是,我似乎无法找出调用实例化和调用pip.commands.InstallCommand()实例的正确步骤。

这是我迄今为止尝试过的:

import pip
inst = pip.commands.InstallCommand()
inst.name = 'boto3'
inst.run()
Run Code Online (Sandbox Code Playgroud)

我什至不确定这是否是调用InstallCommand类的正确方法。运行上面的代码时,我得到的错误是:

回溯(最近一次调用):文件“”,第 1 行,在 TypeError 中:run() 缺少 2 个必需的位置参数:“options”和“args”

我不确定要传递什么options,args但是。

问题:有谁知道 pip 的正确调用是什么InstallCommand样的?

wim*_*wim 5

唯一支持pip install的脚本生成方式是通过子进程。请参阅从程序中使用 pip文档中的部分:

pip是一个命令行程序。虽然它是在 Python 中实现的,因此可以通过 Python 代码获得import pip,但您不能以这种方式使用 pip 的内部 API。...最可靠的方法,也是完全支持的方法,是在子进程中运行 pip。这可以使用标准的子流程模块轻松完成。

使用sys.executable以确保您定位当前运行时的正确点子:

import subprocess, sys
subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'boto3'])
Run Code Online (Sandbox Code Playgroud)