如何在代码中安装Python模块?

12 浏览
0 Comments

如何在代码中安装Python模块?

我需要在我的脚本中直接从PyPI安装包。

也许有一些模块或distutils (distribute, pip等)功能可以让我执行像pypi.install(\'requests\')这样的命令,然后requests将被安装到我的virtualenv中?

admin 更改状态以发布 2023年5月22日
0
0 Comments

你也可以使用类似以下的内容:

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')

0
0 Comments

从脚本安装软件包的官方推荐方法是通过调用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])

0