繁体   English   中英

在 GitLab 中创建 requirements.txt

[英]Creating requirements.txt in GitLab

可能是一个愚蠢的问题,但我正在尝试在 GitLab 中设置一个项目,该项目将用于部署 ML model,为此我将使用 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 model 所需的所有包和库都是很久以前用 anaconda 安装的。 我做错什么了吗?

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

虚拟环境用于保持 Python 的系统安装干净,并且只为每个项目安装必要的软件包。 除其他事项外,要避免 package 要求冲突。 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 中列出的包。

您可以使用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 中。

如何实际添加此需求文件

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

创建文件后, commit并将其push送到 git 存储库。

我的 ML model 所需的所有包和库都是很久以前用 anaconda 安装的

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM