Python開発ガイドライン

GitLabはreStructuredTextマークアップのレンダリングのための依存関係としてPythonを必要とします。

GitLab 11.10ではPython 3が必要です。

インストール

Python をシステムにインストールする方法はいくつかあります。私たちが本番環境で使っているのと同じバージョンを使うには、pyenvを使うことをお勧めします。これはRubyの世界での同等バージョンと同じように動作します:rbenv

macOS

macOSにpyenv をインストールするには、Homebrewを使用します:

brew install pyenv

Windows

pyenv は Windows を正式にサポートしておらず、Windows Subsystem 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 prerequisites をご覧ください。

シェルのインテグレーション

Pyenv をインストールすると、Bash に必要な変更が追加されます。別のシェルを使用している場合は、そのシェルに必要な追加の手順を確認してください。

Fishの場合は、Fisher用のプラグインをインストールしてください:

fisher add fisherman/pyenv

またはOh My Fish用:

omf install pyenv

依存管理

GitLabには直接Pythonスクリプトは含まれていませんが、reStructuredTextマークアップをレンダリングするためにPythonに依存しているため、メインプロジェクトレベルで依存関係を管理する必要があります。

最近、GemfileBundlerプロジェクトに相当するものが Python に導入されました:PipfilePipenvです。

依存関係を含むPipfile がルートフォルダに存在します。これらをインストールするには、以下を実行してください:

pipenv install

このコマンドを実行すると、必要なPythonのバージョンと必要なpipの依存関係の両方がインストールされます。

使用方法

Python コードを Pipenv 環境で実行するには、まずアプリケーションの依存関係に基づいてvirtualenv を起動する必要があります。Pipenv を使えば、これを実行するだけです:

pipenv shell

このコマンドを実行した後、同じShell上でGitLabを実行すると、pipenv install コマンドでインストールしたPythonと依存関係を使用します。