[英]Use pip module from Python to install modules
我的目标是使用 Python 3.6 代码中的pip
模块来安装新的 Python 模块。 但是,我似乎无法找出调用实例化和调用pip.commands.InstallCommand()
实例的正确步骤。
这是我迄今为止尝试过的:
import pip
inst = pip.commands.InstallCommand()
inst.name = 'boto3'
inst.run()
我什至不确定这是否是调用InstallCommand
类的正确方法。 运行上面的代码时,我得到的错误是:
回溯(最近一次调用):文件“”,第 1 行,在 TypeError 中:run() 缺少 2 个必需的位置参数:“options”和“args”
不过,我不确定要为options
和args
传递什么。
问题:有谁知道 pip InstallCommand
的正确调用是什么样的?
从脚本pip install
的唯一支持的方法是通过子进程。 请参阅从程序中使用 pip文档中的部分:
pip
是一个命令行程序。 虽然它是在 Python 中实现的,因此可以通过import pip
从你的 Python 代码中获得,但你不能以这种方式使用 pip 的内部 API。 ...最可靠的方法,也是完全支持的方法,是在子进程中运行 pip。 这可以使用标准的子流程模块轻松完成。
使用sys.executable
确保您针对当前运行时的正确 pip:
import subprocess, sys
subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'boto3'])
根据https://packaging.python.org/tutorials/installing-packages/
您可以在命令提示符下使用安装任何软件包:pip install 'SomeProject'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.