開発者向け情報

iinferの開発環境を構築するための手順を説明します。

プロジェクトのインストール方法

プロジェクトをインストールするには、次の手順を実行します:

  1. プロジェクトをクローンします:

    git clone https://github.com/hamacom2004jp/iinfer.git
    
  2. プロジェクトのディレクトリに移動します:

    cd iinfer
    
  3. プロジェクトの仮想環境を作成します:

    python -m venv .venv
    .venv\Scripts\activate
    
  4. プロジェクトの依存関係をインストールします:

    python.exe -m pip install --upgrade pip
    pip install -r requirements.txt
    
  5. プロジェクトをビルドします:

    sphinx-apidoc -F -o docs_src/resources iinfer
    sphinx-build -b html docs_src docs
    python -m collectlicense --out iinfer/licenses --clear
    python setup.py sdist
    python setup.py bdist_wheel
    

モジュールのコミット方法

開発を協力いただける方は、以下のガイドラインに従ってください:

  1. 新しいブランチを作成してください:

    git checkout -b feature/your-feature
    
  2. 変更を加えてコミットしてください:

    git commit -m "Add your changes"
    
  3. 作成したブランチにプッシュしてください:

    git push origin feature/your-feature
    
  4. プルリクエストを作成してください.

【参考】pyplにアップするための手順

  1. pypiのユーザー登録

  2. それぞれ2要素認証とAPIトークンを登録

  3. ホームディレクトリに .pypirc を作成

    [distutils]
    index-servers =
        pypi
        testpypi
    
    [pypi]
    repository: https://upload.pypi.org/legacy/
    username: __token__
    password: 本番環境のAPIトークン
    
    [testpypi]
    repository: https://test.pypi.org/legacy/
    username: __token__
    password: テスト環境のAPIトークン
    
  4. テスト環境にアップロード

    twine upload --repository testpypi dist/*
    
  5. テスト環境のモジュールをインストール

    pip install -i https://test.pypi.org/simple/ iinfer
    
  6. 本番環境にアップロード

    twine upload --repository pypi dist/*
    
  7. 本番環境のモジュールをインストール

    pip install iinfer
    

【参考】WSL2-Ubuntu20.04-docker環境を構築する手順

  1. WSL2のインストール

    Windowsコマンドプロンプトで以下のコマンドを実行します:

    wsl --install -d Ubuntu-22.04
    
  2. Ubuntu初期設定

    起動したUbuntuにログインし、以下のコマンドを実行します:

    cd /etc/apt
    sudo sed -i.bak -e "s/http:\/\/archive\.ubuntu\.com/http:\/\/jp\.archive\.ubuntu\.com/g" sources.list
    sudo apt update
    sudo apt install -y language-pack-ja
    sudo update-locale LANG=ja_JP.UTF-8
    sudo apt install -y manpages-ja manpages-ja-dev
    
  3. Dockerのインストール

    同じくUbuntu内で以下のコマンドを実行します:

    sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
    sudo apt update
    apt-cache policy docker-ce
    sudo apt install -y docker-ce python3.8-venv python3-wheel
    sudo systemctl start docker
    sudo systemctl enable docker
    sudo usermod -aG docker $USER
    

    GPUを使用する場合は、以下のコマンドも実行します:

    curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey |   sudo apt-key add -
    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list |   sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
    sudo apt-get update
    sudo apt-get install nvidia-container-runtime
    
  4. WSL-Ubuntu-dockerイメージファイル作成

    Windowsコマンドプロンプトで以下のコマンドを実行します:

    wsl --shutdown
    wsl --export Ubuntu-22.04 <任意のパス>/Ubuntu_docker-22.04.tar
    wsl --unregister Ubuntu-22.04
    
  5. WSL-Ubuntu-dockerイメージファイルのインポート

    Windowsコマンドプロンプトで以下のコマンドを実行します:

    wsl --import Ubuntu_docker-22.04 <任意のパス> <任意のパス>/Ubuntu_docker-20.04.tar --version 2
    

【参考】WSL環境でUSBディバイスを使用する方法

  • WSL2のUbuntuでUSBデバイスを使用するためには、以下の手順を実行します。 元記事

    1. WSL に USBIPD をインストールする。 ダウンロードサイト

    2. 管理者モードでコマンドプロンプトを開き以下のコマンドを実行する。

      usbipd list
      
    3. アタッチしたいデバイスの BUSID をメモする。

    4. 以下のコマンドでディバイスを共有状態にする。 ( BUSIDが '3-1' の場合 )

      usbipd bind --busid 3-1
      
    5. 以下のコマンドでWSLにアタッチする。 ( BUSIDが '3-1' の場合 )

      usbipd attach --wsl --busid 3-1
      
    6. WSL内のUbuntuでUSBディバイスが使用可能であることを確認する。

      lsusb
      

【参考】RedisをWindows環境を構築する手順

  • iinfer はRedisを使用しています。

  • iinfer -m install -c redis コマンドはWSL2内のUbuntuに対するRedisインストールになりますので、Windows環境にインストールする場合は下記の手順を実行します。

    1. インストーラーを GitHub からダウンロードします。

    2. ダウンロードしたインストーラー(MSIファイル)を実行します。

    3. ウィザードの中でインストール先ディレクトリの設定があるので、設定したパスをメモしておいてください。デフォルトは C:\Program Files\Redis です。

    4. ウィザードの中でRedisサーバーのサービスポートの設定があるので、設定したポートをメモしておいてください。デフォルトは6379です。

    5. ウィザードの中で使用するメモリ最大量の設定があるので、必要に応じて設定してください。開発用なら100mb程度で十分です。

    6. インストールが完了したら、インストール先ディレクトリをエクスプローラーで開いてください。

    7. その中の redis.windows-service.conf ファイルと redis.windows-service.conf ファイルをメモ帳などのテキストエディタで開いてください。

    8. このファイルの中で、 requirepass foobared を検索し、 # を削除しコメントアウトを解除してください。

    9. requirepass foobaredfoobared の部分を任意のパスワードに変更してください。変更したパスワードをメモしておいてください。

    10. このパスワードが、 iinfer コマンドの中で指定するパスワードになります。

    11. Windowsのタスクマネージャーを開いて、サービスタブを開いて Redis を右クリックし、サービスを再起動してください。

【参考】sitemap.xmlの作成手順

  1. xml-sitemaps でsitemap.xmlを作成します。:

  2. 作成したsitemap.xmlをダウンロードします。

  3. ダウンロードしたsitemap.xmlを docs ディレクトリにコピーします。

  4. プロジェクトのルートディレクトリに移動して、以下のコマンドを実行します:

    sphinx-apidoc -F -o docs_src/resources iinfer
    sphinx-build -b html docs_src docs
    python setup.py sdist
    python setup.py bdist_wheel