pandas開発にGitpodを利用する#

このドキュメントのセクションでは、以下の方法を説明します。

  • pandas開発環境にGitpodを利用する

  • GitHubにpandasリポジトリの個人用フォークを作成する

  • pandasとVSCodeの簡単な紹介

  • Gitpodでpandasドキュメントを編集する

Gitpod#

Gitpodは、自動化されたすぐにコードが書ける開発環境のためのオープンソースプラットフォームです。開発者は開発環境をコードとして記述し、ブラウザから直接、新しいタスクごとに即座にクリーンな開発環境を開始できます。これにより、ローカル開発環境をインストールしたり、互換性のない依存関係に対処したりする必要が減ります。

Gitpod GitHub連携#

Gitpodを利用するには、GitHubアカウントにGitpodアプリがインストールされている必要があります。まだアカウントをお持ちでない場合は、最初に作成する必要があります。

始めるには、Gitpodにログインし、GitHubに適切な権限を付与してください。

Python 3.10環境を構築しており、環境が起動するとすべての開発依存関係がインストールされます。

pandasリポジトリのフォーク#

コントリビューターとしてpandasで作業する最良の方法は、まずリポジトリをフォークすることです。

  1. GitHub上のpandasリポジトリにアクセスし、独自のフォークを作成します。

  2. フォークにアクセスします。フォークのURLはnoatamirの代わりにあなたのGitHubユーザー名が入ったnoatamir/pandas-devのようになります。

Gitpodの開始#

GitHub経由でGitpodに認証されると、Gitpod ChromiumまたはFirefoxブラウザ拡張機能をインストールできます。これにより、リポジトリのCodeボタンの横にGitpodボタンが追加されます。

pandas repository with Gitpod button screenshot
  1. 拡張機能をインストールすると、Gitpodボタンをクリックして新しいワークスペースを開始できます。

  2. または、ブラウザ拡張機能をインストールしたくない場合は、USERNAMEをGitHubユーザー名に置き換えてhttps://gitpod.io/#https://github.com/USERNAME/pandasにアクセスできます。

  3. どちらの場合も、ウェブブラウザで新しいタブが開き、開発環境の構築が開始されます。これには数分かかる場合がありますのでご注意ください。

  4. ビルドが完了すると、VSCodeエディタとpandasでの作業に必要なすべての依存関係を含むワークスペースに移動します。ワークスペースを初めて起動する際には、いくつかの操作が実行されていることに気づくでしょう。これは、pandasの開発バージョンがインストールされていることを保証するためです。

  5. ワークスペースの準備ができたら、以下のコマンドを入力してビルドをテストできます。

    $ python -m pytest pandas
    

    このコマンドは実行に時間がかかるため、実行されていることを確認したら、ctrl-cでキャンセルしても構いません。

ワークスペースの簡単な紹介#

GitpodはVSCodeをエディタとして使用しています。このエディタを以前に使用したことがない場合は、VSCodeドキュメントの「始める」をチェックして慣れてください。

ワークスペースは以下の画像に似たものになります。

Gitpod workspace screenshot

エディタ内のいくつかの重要なセクションをマークしました。

  1. 現在のPythonインタープリター - デフォルトではpandas-devであり、ステータスバーとターミナルに表示されます。conda環境は常にアクティベートされるため、自分でアクティベートする必要はありません。

  2. 現在のブランチは常にステータスバーに表示されます。このボタンを使用してブランチを変更したり作成したりすることもできます。

  3. GitHubプルリクエスト拡張機能 - これを使用してワークスペースからプルリクエストを操作できます。

  4. マーケットプレイス拡張機能 - pandas Gitpodにはいくつかの必須拡張機能が追加されていますが、ユーザー向けに他の拡張機能や構文ハイライトテーマをインストールすることもでき、これらは保持されます。

  5. ワークスペースディレクトリ - デフォルトでは/workspace/pandas-devです。Gitpodで保持される唯一のディレクトリであるため、これを変更しないでください

また、開発体験を支援するために、いくつかのツールとVSCode拡張機能をプリインストールしています。

Gitpodでの開発ワークフロー#

このドキュメントのpandasへの貢献セクションには、pandasの開発ワークフローに関する情報が含まれています。貢献作業を始める前に、必ず確認してください。

Gitpodを使用する場合、Gitは事前に設定されています。

  1. GitHub経由で認証した際に設定されるため、Gitのユーザー名とメールアドレスを設定する必要はありません。ただし、GitHubの機能でメールアドレスを非公開にしている場合は除きます。Gitの設定は、ターミナルでgit config --listコマンドで確認できます。GitHubプロファイルでコミットに使用するメールアドレスを設定するには、git config --global user.email “your-secret-email@users.noreply.github.com”を使用します。

  2. 独自のpandasフォークからワークスペースを開始したため、デフォルトでupstreamoriginの両方がリモートとして追加されます。これは、ターミナルでgit remoteと入力するか、ステータスバーのブランチ名をクリックして確認できます(下の画像を参照)。

    Gitpod workspace branches plugin screenshot

pandasドキュメントのレンダリング#

Sphinxでドキュメントをレンダリングする方法の詳細は、pandasドキュメントの構築方法のセクションで確認できます。完全なドキュメントを構築するには、/docディレクトリで以下のコマンドを実行する必要があります。

$ cd doc
$ python make.py html

あるいは、以下のコマンドで単一のページを構築することもできます。

python make.py --single development/contributing_gitpod.rst

Gitpodでドキュメントをレンダリングするには、主に2つのオプションがあります。

オプション1:Liveserveを使用する#

  1. pandas/doc/build/html内のドキュメントを表示します。

  2. ページのレンダリングバージョンを表示するには、.htmlファイルを右クリックしてOpen with Live Serveをクリックします。あるいは、エディタでファイルを開き、ステータスバーのGo liveボタンをクリックします。

    Gitpod workspace VSCode start live serve screenshot
  3. エディタの右側にシンプルなブラウザが開きます。これを閉じて、ポップアップのOpen in browserボタンをクリックすることをお勧めします。

  4. サーバーを停止するには、ステータスバーのPort: 5500ボタンをクリックします。

オプション2:rst拡張機能を使用する#

.rstファイルでのライブ変更を素早く簡単に確認する方法として、rst拡張機能とdocutilsを使用する方法があります。

これは、htmlテーマなしでドキュメントのシンプルなライブプレビューを生成します。一部のバックリンクが正しく追加されない場合があります。しかし、htmlファイルを構築することなく、作業に対する即座のフィードバックを得るための簡単で軽量な方法です。

  1. エディタでdoc/sourceにある任意のソースドキュメントファイルを開きます。

  2. MacではCmd-Shift-P、LinuxおよびWindowsではCtrl-Shift-PでVSCodeコマンドパレットを開きます。「restructured」と入力し始め、「Open preview」または「Open preview to the Side」のいずれかを選択します。

    Gitpod workspace VSCode open rst screenshot
  3. ドキュメントを編集すると、エディタでそのライブレンダリングが表示されます。

    Gitpod workspace VSCode rst rendering screenshot

htmlテーマを含む最終出力を表示したい場合は、make htmlでドキュメントを再構築し、オプション1で説明されているようにLive Serveを使用する必要があります。

FAQとトラブルシューティング#

Gitpodワークスペースはどのくらいの期間保持されますか?#

停止したワークスペースは14日間保持され、その後使用しない場合は削除されます。

以前のワークスペースに戻ることはできますか?#

はい、しばらく作業を中断していて、pandasへの貢献作業を続けたい場合を考えてみましょう。https://gitpod.io/workspacesにアクセスし、再度起動したいワークスペースをクリックする必要があります。前回の作業で残したすべての変更がそこにあります。

追加のVSCode拡張機能をインストールできますか?#

もちろんです!インストールした拡張機能はすべて独自のワークスペースにインストールされ、保持されます。

Gitpodに登録しましたが、リポジトリにGitpodボタンが表示されません。#

https://gitpod.io/integrationsにアクセスし、ログインしていることを確認してください。GitHubにカーソルを合わせ、右側に表示される3つのボタンをクリックします。権限の編集をクリックし、user:emailread:userpublic_repoがチェックされていることを確認します。Update Permissionsをクリックし、GitHubアプリケーションページで変更を確定します。

Gitpod integrations - edit GH permissions screenshot

ワークスペースを使用していない場合、どのくらいの期間アクティブな状態を維持しますか?#

ブラウザのタブでワークスペースを開いたまま操作しない場合、30分後にシャットダウンします。ブラウザのタブを閉じると、3分後にシャットダウンします。

ターミナルが真っ白で、カーソルがなく、完全に反応しません#

残念ながら、これはGitpod側の既知の問題です。この問題は2つの方法で解決できます。

  1. 全く新しいGitpodワークスペースを作成します。

  2. Gitpodダッシュボードにアクセスし、実行中のワークスペースを見つけます。カーソルを合わせて三点メニューをクリックし、次にStopをクリックします。ワークスペースが完全に停止したら、その名前をクリックして再度起動できます。

Gitpod dashboard and workspace menu screenshot

GitHubで認証しましたが、Gitpod経由でリポジトリにコミットできません。#

https://gitpod.io/integrationsにアクセスし、ログインしていることを確認してください。GitHubにカーソルを合わせ、右側に表示される3つのボタンをクリックします。権限の編集をクリックし、public_repoがチェックされていることを確認します。Update Permissionsをクリックし、GitHubアプリケーションページで変更を確定します。

Gitpod integrations - edit GH repository permissions screenshot

謝辞#

このページはNumPyプロジェクトから軽く修正されています。