从脚本安装软件包的官方推荐方法是通过子进程调用pip的命令行界面。pip不支持此处提出的大多数其他答案。此外,自pip v10
起,所有代码都已pip._internal
精确定位,以使用户清楚不允许以编程方式使用pip。
使用sys.executable
,以确保您将调用相同pip
与当前运行相关联。
import subprocess
import sys
def install(package):
subprocess.check_call([sys.executable, "-m", "pip", "install", package])
您还可以使用类似:
import pip
def install(package):
if hasattr(pip, 'main'):
pip.main(['install', package])
else:
pip._internal.main(['install', package])
# Example
if __name__ == '__main__':
install('argh')