在代码中安装Python模块

理想情况下,从pip 安装 Python 模块是非常方便的;要做到这一点,你必须在一个活动终端内输入pip install module-name ,然后就完成了。

但是今天,我们想学习如何用Python脚本来安装模块。

用代码安装Python模块的好处

与在终端内安装Python模块相比,用Python脚本安装模块带来了两个很棒的好处。

首先,它允许我们同时安装一个以上的模块;我们将在一个例子中说明这一点。

其次,我们可以安装一个我们想要的特定版本的模块。如果我们想安装的版本具有其他版本所缺乏的特定功能,这就很理想。

用代码安装Python代码

在这个例子中,我们将在代码中只安装一个Python模块。创建一个新的Python文件;你可以把它命名为new.py ,并输入这一小段代码:

import os
os.system('pip install bottle-json-pretty')

我们在os.system 内插入install 命令,点击run ,我们应该在终端看到成功的安装信息。

在代码中安装多个 Python 模块

在这个例子中,我们想在代码中安装多个Python模块。当我们想新建立一个新的Python环境,并想安装所需的软件包以启动IDE的使用时,这个功能会让人感到舒畅。

创建一个新的Python文件,将其命名为new.py ,然后插入这些代码:

import sys
import subprocess
import pkg_resources
required  = {'sysdweb', 'Flask-OIDC-SP', 'apm-client', 'Glances', 'BottleJwtAuth'}
installed = {pkg.key for pkg in pkg_resources.working_set}
missing   = required - installed
if missing:
       subprocess.check_call([sys.executable, '-m', 'pip', 'install', *missing])

REQUIRED = {} 里面,这就是我们添加我们希望安装的模块的地方。

在代码中安装具有特定版本的 Python 模块

这个例子让我们不仅可以安装特定版本的模块,还可以安装多个版本;这是一个完整的软件包。

创建一个新文件,将其命名为new.py ,然后输入这些代码:

import sys
from subprocess import run, PIPE, STDOUT
import pkg_resources
def run_cmd(cmd):
    ps = run(cmd, stdout=PIPE, stderr=STDOUT, shell=True, text=True)
    print(ps.stdout)
required = {"markdown-server", "semver==2.9.0"}
installed = {f"{pkg.key}=={pkg.version}" for pkg in pkg_resources.working_set}
missing = required - installed
if missing:
    run_cmd(f'pip install --ignore-installed {" ".join([*missing])}')

结论

这种方法有帮助,因为你可以创建一个你最喜欢的Python模块包,并把它们放在代码内。通过这样做,你就有了一个Python脚本或文件,你可以保存并带到你想去的任何地方。

你可以轻松地使用你想设置的另一个IDE,而不需要一直浏览pip 命令来安装模块。