reComputerでuvを使用する
はじめに
このwikiでは、reComputerボックスでuvを使用する方法について説明します。uvは、Python用の高速で現代的、かつ軽量なパッケージマネージャーおよびリゾルバーです。pip
やpip-tools
などの従来のPythonパッケージ管理ツールのドロップイン代替として設計されており、速度、効率性、使いやすさにおいて大幅な改善を提供します。

ハードウェアの準備
reComputer R1125 | reComputer AI R2130 | reComputer AI Industrial R2145 |
---|---|---|
![]() | ![]() | ![]() |
ソフトウェアの準備
システムの更新:
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
sudo apt update
sudo apt full-upgrade
uvのインストール
curl -LsSf https://astral.sh/uv/install.sh | sh
uv を使用する
プロジェクトの初期化
ここでは、uv_test
を例として uv
の使用方法を説明します。
注意: PyPI 上の既存のパッケージと異なるプロジェクト名を付けてください。
uv init uv_test --package
cd uv_test
プロジェクトの構造を確認する
ls -la
tree

Python環境の作成
ここでPython環境を作成できます
uv venv
source .venv/bin/activate

依存関係を追加
numpy
を使用して関数を構築します:
uv add numpy
関数の作成
例として、NumPyを使用してadd.py
にadd
関数を書きます:
add.py
import numpy as np
def add(arr1: np.ndarray, arr2: np.ndarray) -> np.ndarray:
"""
Adds two NumPy arrays element-wise.
Parameters:
arr1 (np.ndarray): The first input array.
arr2 (np.ndarray): The second input array.
Returns:
np.ndarray: The element-wise sum of arr1 and arr2.
Raises:
ValueError: If the input arrays have different shapes and cannot be broadcasted.
"""
# Ensure that both arrays have compatible shapes for element-wise addition
try:
result = np.add(arr1, arr2)
except ValueError:
raise ValueError("Input arrays have incompatible shapes for element-wise addition.")
return result
if __name__ == "__main__":
# Example usage
arr1 = [1, 2, 3]
arr2 = [4, 5, 6]
print("Result of addition:", add(arr1, arr2))
結果は以下の通りです:

パッケージのビルド
プロジェクトを使用可能な .whl
ファイルにビルドするには、toml
ファイルを以下のように修正します:
パッケージをビルドします:
uv build
ls -a
結果は以下の通りです:

パッケージをテストする
以下のようにパッケージをインストールします:
uv pip install dist/uv_test-0.1.0-py3-none-any.whl

python
スクリプトを使用してパッケージをテストします:
add.py
from uv_test.add import add
if __name__ == "__main__":
arr1 = [1, 2, 3]
arr2 = [4, 5, 6]
print("Result of addition:", add(arr1, arr2))
パッケージをPyPiにプッシュする
PyPIアカウントをお持ちでない場合は、アカウントを登録し、トークンを作成してください。
uv publish
結果は以下のようになり、あなたのトークンを入力してください:

結果
最終的に、PyPI上にアップロードしたプロジェクトを確認できます。

技術サポート & 製品ディスカッション
私たちの製品をお選びいただき、ありがとうございます!私たちは、お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを用意しています。