Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

プロジェクトを初期化しよう #1

Closed
sotetsuk opened this issue Oct 7, 2020 · 0 comments · Fixed by #2
Closed

プロジェクトを初期化しよう #1

sotetsuk opened this issue Oct 7, 2020 · 0 comments · Fixed by #2

Comments

@sotetsuk
Copy link
Owner

sotetsuk commented Oct 7, 2020

ここでは、開発に必要な次のものを順に初期化して作成していきます。

  1. GitHubリポジトリ
  2. PyCharmプロジェクト
  3. Pythonパッケージ (fizzbuzz パッケージ)
  4. 開発に使うPythonインタプリタ (virtualenv

1. GItHubからリポジトリを作ろう

まず、開発をするリポジトリを作りましょう。GitHubトップページから右上の + => New Repository で作成します。

Screen Shot 2020-12-15 at 23 38 07

README.md.gitignore を作ってもらうことも可能です。

2. PyCharmからプロジェクトを初期化しよう

まずプロジェクトを初期化したいので、GitHubから「プロジェクトを初期化する」という新しいIssueを作ります。

Screen Shot 2020-12-15 at 23 38 07

次に、作ったリポジトリをローカルマシン(自分の手元のPC)の好きな場所に git clone して、PyCharmで開きます。クローンの仕方がわからない場合は リポジトリをクローンする (docs.github.com/ja) を参照。ブランチも新しく切りましょう。

image

Open をクリックします。

95355030-114f6d00-0900-11eb-8c02-67ff8aaebe53

クローンしてきたリポジトリのあるディレクトリを選択して開きます。

image

3.Pythonパッケージを作成しよう

リポジトリの名前の上で右クリックをし、Pythonパッケージを作成します。ここでは、 fizzbuzz という名前でパッケージを作成します。

image

fizzbuzz というディレクトリと __init__.py がその下に作成されていることを確認してください。

image

4. Pythonインタプリタを設定しよう

開発にどのPythonを用いるかを指定します。画面右下から Add Interpreter をクリックします。

image

基本的には Python2 ではなく、 Python3 を使うようにしましょう。プロジェクトルート直下の venv というディレクトリに仮想環境が作られ、新しいモジュールをインストールした場合などはここにインストールされます 。これによって、グローバルな環境を汚すことなく開発ができます。他にも、例えばDockerを使ってインタプリタを設定することなども考えられます。

image

5. 変更をコミットしてプッシュしよう

次のように、変更をコミットしてプッシュしましょう。$ vi .gitignore では、.idea をGitでトラッキングしないよう設定しています。

image

6. はじめてのPRを作ってみよう

GitHubにアクセスして、新しいPR (Pull Request) を作ります。

95358645-3d6ced00-0904-11eb-9ae4-d23e519b1fdd

PRのタイトルと本文では、どういう意図のPRかが明示的にされるのが好ましいです。ここでは、 #1 のIssueを解決する(プロジェクトを初期化する)のが目的であるため、このIssueを紐付けます。resolve #1 のように指定することで、このPRがマージされたとき、 #1 のIssueが自動的にクローズされます。

できたPRは例えばこのようになっているはずです:

image

7. PRをマージしてみよう

マージの際には、 Squash and merge を使いましょう。

image

Squash and merge は、Setting から

Screen Shot 2020-10-09 at 19 12 19

下に辿ることで設定できます

95360027-cd5f6680-0905-11eb-98c5-cd6e60245d68

8. ローカル開発環境のmain/masterレポジトリに差分を取り込もう

最後に、 main ブランチで $ git pull origin main をすることでローカルの main を最新の状態に保ちます。

image

目次

  1. [現在] プロジェクトを初期化しよう
  2. [つぎ] 仕様を決めて、ユニットテストを追加してみよう
  3. ユニットテストが通るように本体を実装してみよう
  4. (Optional) doctestを導入してみよう
  5. 新しい機能を追加する前に、CIを導入してみよう
  6. 新しい機能を追加してみよう
  7. ライブラリとして使えるようにしてみよう
  8. CLIツールとして使えるようにしてみよう
  9. (Optional) 便利な外部ライブラリをインストールして使ってみよう (Pytest編)
  10. (Optional) 便利な外部ライブラリをインストールして使ってみよう (Click編)
  11. 型チェックを使ってみよう
  12. しっかりとしたREADMEを書こう
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant