15 ポイント 投稿者 GN⁺ 2025-01-13 | 5件のコメント | WhatsAppで共有
  • パフォーマンスやPythonとの互換性は、uvの差別化要因ではない。uvはPEPに準拠しており、Pythonのパッケージマネージャーとして十分に推奨できる。しかし、最も驚くべき機能は別にある。
  • Python 3.12でアドホックなスクリプティングをするとき、しばしばPandasのような依存関係を追加する必要がある。一般的な方法は次のとおり。
    • pip install pandas を実行してグローバル環境を変更する、または
    • 仮想環境を作成し、pip install pandas を実行し、仮想環境を有効化してからPythonを実行する。
  • 別のPythonバージョンが必要な場合は、pyenv を使ってそのバージョンをインストールし、ローカルに設定する必要がある。最悪の場合:
    1. pyenv install 3.12
    2. pyenv local 3.12
    3. python -m venv .venv
    4. source .venv/bin/activate
    5. pip install pandas
    6. python
  • uvを使えば、たった1行のコマンドで済む。
    • uv run --python 3.12 --with pandas python
    • 覚えやすく、痕跡も残らない。楽しいスクリプティングを!

5件のコメント

 
tribela 2025-01-15

まだ poetry を使っていますが、そろそろ移行してみるべきですね。virtualenv wrapper にもさよならでしょう。

 
roxie 2025-01-14

そろそろ本当に pip を手放す時期かもしれませんね

 
dongho42 2025-01-14

uv は、init するたびに不要なものがあれこれ付いてくる点を除けば、全体的に満足しながら便利に使っています

 
GN⁺ 2025-01-13
Hacker Newsの意見
  • uvパッケージマネージャーをとても気に入っており、コミュニティの標準として定着してほしいという意見がある。特に新しいユーザーに勧めやすいツールである

  • uvはPEP 723のインラインスクリプト依存関係をサポートしており、よりすっきりと使える

  • NodeJS開発者として、Pythonの環境設定の問題がいまだに解決されていないことに驚く。Nodeも完璧ではないが、グローバル環境の変更を心配することはない

  • virtualenvの有効化は不要で、pyenvのインタープリタ設定がなくても直接仮想環境を作成できる

  • uvでは単一ツールの実行に複数の機能がまとまっているのが不便だという意見がある。venvを有効化して複数回プログラムを実行できるほうが便利である

  • uvはuvxコマンドを含み、Pythonスクリプトを手動インストールなしで実行できる

    • 例: uvx --from 'huggingface_hub[cli]' huggingface-cli
  • uvを気に入っており近いうちに使ってみたいが、記事の要点が理解できないという意見がある。pyenvとpoetryでもローカル依存関係を持てる

  • 他のバイナリ依存関係がある場合は、Nixとvirtualenv + pip-toolsを使うほうがより良い選択肢かもしれない

  • まず「正しいパス」で仮想環境を有効化してからpandasをインストールすべきだという意見がある