Help us learn about your current experience with the documentation. Take the survey.

作为 Monorepo 一部分的 Python

GitLab 需要 Python 作为 reStructuredText 标记渲染的依赖项。它需要 Python 3。

安装

在您的系统上有几种安装 Python 的方法。为了能够使用我们在生产环境中使用的相同版本, 我们建议您使用 pyenv。它的运行方式和行为与 Ruby 世界中的对应工具类似:rbenv

macOS

要在 macOS 上安装 pyenv,您可以使用 Homebrew

brew install pyenv

Windows

pyenv 不正式支持 Windows,并且在 Windows 子系统 for Linux 之外无法在 Windows 上运行。如果您是 Windows 用户,可以使用 pyenv-win

要在 Windows 上安装 pyenv-win,请运行以下 PowerShell 命令:

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

了解更多关于 pyenv-win 的信息

Linux

要在 Linux 上安装 pyenv,您可以运行以下命令:

curl "https://pyenv.run" | bash

或者,您可能会通过发行版的包管理器找到 pyenv 作为系统包可用。

您可以在 pyenv 的先决条件 中阅读更多相关信息。

Shell 集成

Pyenv 安装会向 Bash 添加必要的更改。如果您使用其他 shell, 请检查是否需要任何额外的步骤。

对于 Fish,您可以为 Fisher 安装插件:

fisher add fisherman/pyenv

或者对于 Oh My Fish

omf install pyenv

依赖管理

虽然 GitLab 不直接包含任何 Python 脚本,但由于我们依赖 Python 来渲染 reStructuredText 标记,我们需要在主项目级别跟踪依赖项, 以便在我们的开发机器上运行它。

最近,Python 中引入了与 GemfileBundler 项目等效的工具: PipfilePipenv

现在在根文件夹中存在一个包含依赖项的 Pipfile。要安装它们,请运行:

pipenv install

运行此命令会安装所需的 Python 版本以及所需的 pip 依赖项。

使用说明

要在 Pipenv 环境中运行任何 Python 代码,您需要首先基于应用程序的依赖项启动一个 virtualenv。 使用 Pipenv,这就像运行以下命令一样简单:

pipenv shell

运行该命令后,您可以在同一个 shell 中运行 GitLab,它会使用从 pipenv install 命令安装的 Python 和依赖项。