Skip to content

Alexander-Development/Stduy_language_Python

 
 

Repository files navigation

Stduy_language_Python

Sample Python List

説明

  • プログラミング言語 Python の学習用

免責事項

このソフトウェアの使用または使用不可によって、いかなる問題が生じた場合も、著作者はその責任を負いません。バージョンアップや不具合に対する対応の責任も負わないものとします。

開発環境構築

Pytnon のインストール

  • win 版
    1. vscode を開く
    2. ctrl + `でターミナルを開いて移動する
    3. 以下のコマンドを実行

      python

    4. python が入っていないと MicrosoftStore が開いて python のダウンロード画面を出すのでダウンロードする
  • 参考サイト

venv などの仮想環境を動かすための準備

  • win 版

    • 仮想環境を動かすため PowerShell の ps ファイルを実行するものがある

    • しかし PowerShell の環境によっては ps ファイルを実行不可能な設定なのもある

仮想環境作成

  • win 版
    • 以下のコマンドで作成
      • python -m venv venv

仮想環境有効

  • win 版
    • 仮想環境を作成したディレクトリに移動して以下のコマンドを実行
      • .\venv\Scripts\activate

仮想環境無効

  • win 版
    • 以下のコマンド実行
      • deactivate

デバッグツールの環境作成

  • win 版

    • 以下のプロジェクトのディレクトリ構成を元に説明

      • Project
        • .vscode/
        • venv/
        • main.py
      1. .vscode/に settings.json ファイルを追加

      2. setting.json ファイルに以下の内容を記述して保存 { "python.venvPath": "../venv", "python.pythonPath": "../venv" }

        python の path に python.exe があるパスを指定 venv ディレクトリは setting.json がおいているディレクトリの一つ上においているので 相対パス設定の"../venv"でうまくいく

      3. launch.json に環境変数 PYTHONPATH を設定する

        • これを設定しないと自作したモジュールをインポートしてもパスが通っていないからデバッグした時にインポートでエラーとなる
        1. launch.json を作成

        2. "configurations"項目に"env"項目を追加

        3. 環境変数"PYTHONPAT"を通す

          • こんな感じ

            launch.json ↓ { // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "justMyCode": true, // 自作モジュールをアクティブにしているファイルからでも実行できるようにするためパスを通している "env": { "PYTHONPATH": "${workspaceFolder}" } } ] }

          • 参考サイト Visual Studio Code で Python デバッグ実行

      4. デバッグ実行してブレークポイントで動くかチェック

        • ちなみに F5 キーでデバッグ実行!
        • launch.json がなければ生成する
    • 参考サイト

コードチェックのツール mypy の環境作成

  • win 版

    • 以下のコマンドで mypy をインストール pip install mypy

    • 設定画面の mypy の利用を有効化する

      • グローバル設定ファイル settgins.json に以下の記述を追加 "python.linting.mypyEnabled": true
    • 関数を作成した動作確認

      • 以下のコードを添付して hello(123)の箇所でエラーが表示しているなら成功 def hello(name: str) -> str: return "Hello " + name

      result: str = hello(123)

    • メモ

      • pyfields のパッケージを使うと正しいコードを記述しているのにその箇所がエラーとなっていた
        • つまり不十分!
      • クラスのメソッドで戻り値の型ヒントを付けているメソッドをエラーとしていた。
      • これは利用しない方がいいと判断した
      • 導入が簡単だから入れたが、失敗だった
    • 参考サイト mypy を VS code で使うための手順

フォーマットに合わせてコード整形する環境作成

  • win 版

    • 以下のコマンドで black をインストール pip install black

    • VSCode で Black を使うように設定

      • グローバル設定ファイル settgins.json に以下の記述を追加 "python.formatting.provider": "black"
    • alt + shift + f のショートカットキーでコード整形を実行

      • Black で整形するための拡張機能がなけらばインストールを要求するのでその場合はインストール
    • コードが整形されていたら成功

    • 参考サイト

コード補間の環境作成

単体テストの環境構築

  1. pytest を利用
    • pip でインストール
      • pip install pytest
  2. tests ディレクトリを作成
    1. 作成したディレクトリにinit.py を作成
      • これを作成しないと自作パッケージのインポートでうまくいかずテストが実行できない
  3. py ファイルを作成
    • test_xxx の関数を作成する
      • 関数名に test と頭につけないとテスト対象として認識されない
  4. テストするコードを記述したり、テストする自作モジュールをインポートする
  5. テスト用の py ファイルを開くとアクティブバーにテストアイコンが出るのでクリック
  6. テスト用の環境作りますかというボタンがあるのでボタンを押す
  7. settings.js に tests ディレクトリのパスを指定 こんな感じ(cli_simple ディレクトリ中にあるテストコードが入っている tests ディレクトリを指定) "${workspaceFolder}/cli_simple/tests",

pytest の collect-only コマンドからテストするように足りないパッケージを教えてくれる

  1. 以下のコマンドを実行

    • pytest collect-only
      • テストできるパッケージについての情報など一覧が出る

pytest を使ったコードデバッグ方法

pip でインストールしたパッケージ一覧をエクスポートとインポート方法

  • エクスポート方法

    • 以下のコマンドでインストールしたパッケージ一覧を記載したファイルをエクスポートできる pip freeze > requirements.txt
  • インポート方法

    • 以下のコマンドでrequirements.txtに記載したパッケージ一覧をインポートできる pip install -r requirements.txt

ローカライズ対応

  • 以下のサイトをまず参考にした
    • https://blog.narito.ninja/detail/86/
    • 項目[翻訳ファイルの作成]の前まではそのまま使えた
      • django-admin makemessages -l ja
      • 上記のコマンドを実行したら以下のエラーが出た
        • Django makemessages command generates error: "xgettext: Non-ASCII string"
      • これのサイト以外のを参考にした
  • 次はこのサイトが参考になった
  • ローカライズテキストの追加やコンパイルなど残り対応について

実行で参考にしたサイト

About

Sample Python List

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 74.0%
  • HTML 25.6%
  • CSS 0.4%