簡體   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