如何创建自动安装某些库的 python 程序

How to create a python program where some libraries are automatically installed

我创建了一个使用一些外部库的程序,例如 matplotlib、NumPy、pandas...我想与其他用户分享我的程序。问题是那些用户需要安装那些库,而我想避免这种情况。我读过可以创建一个可执行文件,但是,我希望其他用户也可以编辑该程序。我该怎么做?

你需要的是添加一个requirements.txt。这是一个文件,其中指定了某个项目的依赖项。例如,您的程序可以依赖某个 NumPy 版本,并将其添加到 requirements.txt 文件中,当另一个用户需要为该项目安装依赖项时,他可以轻松地自动化它。

如果您使用的是虚拟环境,您可以简单地让 environment.txt 执行 pip freeze > requirements.txt。否则您可能需要自己将使用的库添加到此文件中。

要让其他人在他们的环境中安装依赖项,他们需要执行以下 pip 命令,而不是安装每个模块:

$ pip install -r requirements.txt

如评论中所述,使用需求文件是必经之路,也是一个通用标准。您可以使用以下 pip 命令创建需求文件:

$ cd <root directory>
$ pip freeze > requirements.txt

如果您将程序作为可执行文件共享,那么用户确实不必安装这些库。但是代码一旦转换就不能再编辑了,每次编辑代码都需要每次转换才能更新版本。如果您想共享可编辑的代码,那么最好的选择是与程序一起共享一个 requirements.txt 文件。

您可以生成 requirements.txt,其中列出了您当前的所有依赖项。使用 pipreqs 模块仅列出程序中使用的库。 安装 pipreqs(不带 $)

$ pip install pipreqs 

然后转到您的程序目录并在 terminal/PowerShell/command 提示符下键入(不带 $)

$ pipreq .

它会在程序目录下生成requirements.txt压缩整个文件夹并分享。用户需要从此 requirements.txt 文件安装,他们可以使用以下命令从该文件安装(不带 $)

$ pip install -r requirements.txt