在 GitLab 中创建 requirements.txt

Creating requirements.txt in GitLab

可能是个愚蠢的问题,但我正在尝试在 GitLab 中建立一个项目,该项目将用于部署 ML 模型,为此我将使用 FastAPI。我对此很陌生,会尝试提供尽可能多的信息。

我在 GitLab 中创建了这个项目,它现在只包含一个 README.md 文件。实际的 Python 代码存储在我电脑上的一个文件夹(“MyProject”)中,该文件夹包含两个文件夹,每个文件夹包含一些数据、.py 脚本和一个笔记本。

为了设置 requirements.txt,我尝试在 Windows 中创建一个虚拟环境。现在,当我打开“MyProject”文件夹时,它包含代码和虚拟环境这两个文件夹,其中还包含 Lib, Scripts, pyvenv.cfg。后者包含:

home = c:\users\me\anaconda3
implementation = CPython
version_info = 3.8.5.final.0
virtualenv = 20.10.0
include-system-site-packages = false
base-prefix = c:\users\me\anaconda3
base-exec-prefix = c:\users\me\anaconda3
base-executable = c:\users\me\anaconda3\python.exe

我还克隆了 GitLab 存储库,但在我的计算机上它保存在其他地方(在 c:\users\me 中)。我知道我需要做:

pip install -r
requirements.txt

但我不明白如何实际添加这个需求文件。在我创建这个虚拟环境之前,我的 ML 模型所需的所有包和库都是很久以前用 anaconda 安装的。我做错了什么吗?

您可以使用 pip freeze > requirements.txt 创建 requirements.txt 并将其添加到您的存储库中。这将生成已安装软件包的列表和您拥有的确切版本。

https://pip.pypa.io/en/stable/cli/pip_freeze/

简单的解决方案是 pip freeze > requirements.txt,但此命令将添加您环境中存在的所有包,这些包可能不会在您的项目中使用。在我的日常工作中,我使用这个https://pypi.org/project/pipreqs/。您可以将它和 运行 pipreqs --force 安装在您的项目文件夹中。这会将在您的项目中使用的包添加到 requirements.txt。

how to actually add this requirements file

您自己创建文件。对于您使用的每个库,在 requirements.txt 中添加一行,其中包含库的名称。另请参阅文档 https://pip.pypa.io/en/stable/reference/requirements-file-format/

创建文件后,commitpush 它到 git 存储库。

All of the packages and libraries that I needed for my ML model were installed a long time ago with anaconda

Gitlab-CI with docker executor 从一个全新的环境开始。您必须在docker 环境内部 中重复所有 安装步骤。您可以 运行 docker 本地容器实例进行测试。查阅 gitalb-ci 和 docker 文档。

我认为你混淆了一些东西。 GitLab 使用 Git 对您的文件(您的代码)进行版本控制。因此,您的存储库应包含包含您的代码的文件。您可以将文件夹“MyProject”中的文件放入您将存储库克隆到的文件夹中。还要添加 requirements.txt 自述文件等。

虚拟环境用于保持 Python 的系统安装干净,并且只为每个项目安装必要的包。除其他外,避免包需求冲突。 requirements.txt 文件的使用独立于虚拟环境,即使它是一个合理的组合。

一般来说,这意味着您的 requirements.txt 始终与您的代码共享,因为它们位于同一个存储库中。当有人克隆存储库时,他可以使用 requirements.txt 将所有依赖项安装到他的 venv(或其他地方),然后 运行 你的代码无需 nedd 来安装更多 python 包。

您的 requirements.txt 文件必须包含如下所示的列:numpy==1.21.4。然后你必须使用 <your path to the venv folder>\venv\Scripts\activate 激活环境并使用 python -m pip install -r requirements.txt 安装你的 requirements.txt.

中列出的软件包