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

问题描述

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

解决方法

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

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

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

$ pip install -r requirements.txt
,

正如评论中提到的,使用需求文件是可行的方法和通用标准。您可以使用以下 pip 命令创建需求文件:

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

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

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

$ pip install pipreqs 

然后转到您的程序目录并在终端/PowerShell/命令提示符中键入(不带 $)

$ pipreq .

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

$ pip install -r requirements.txt