PyTorchのCUDA向けパッケージがインストールできない

Pythonのバージョンがあわないらしい

自前のGPUを使いたくて

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

これを実行したら、

Looking in indexes: https://download.pytorch.org/whl/cu124

ERROR: Could not find a version that satisfies the requirement torch (from versions: none)

ERROR: No matching distribution found for torch

Geminiの見解

このエラーは、お使いのPythonのバージョンが PyTorch(CUDA 12.4版)に対応していないことが原因で発生しています。

PyTorchのCUDA 12.4向けパッケージは、Python 3.8 〜 3.12 など特定バージョン向けにのみビルドされています。Pythonのバージョンが新しすぎる(例: Python 3.13以上)場合や、古すぎる場合にこのエラーが出ます。

そこで、

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126

にしてみたら、インストールはできたけれど、

CPUで認識しているみたい。 だめだ。まあいいや。 Pythonは3.14.7 対応していないのか。

PyTorchのページを見ましたが、Windowsでは無理っぽい。たぶん。

scikit-learnのipynbをVSCodeで実行したら、UnicodeDecodeError Traceback (most recent call last)File

scikit-learnのHTML図表示をオフにする モデルの構造をHTMLの視覚的な図として出力する機能をオフにし、テキスト表示に切り替えることでエラーが発生する処理自体をスキップします。

import sklearn

sklearn.set_config(display="text")

【Python】uv init の仕様が変わっていた

  • uv 0.12.0以降で、uv initの仕様が変更になっていますという話

uvをアップデートして、uv initをしてみたら、仕様が変わっていました。

以前(0.11.*)は、ディレクトリでuv initを実行すると

└─.gitignore
└─.python-version
main.py
pyproject.toml
README.md

のようにディレクトリ内にファイルが作られましたが、最新のuv(0.12.0以降)では、

└─src
    └─project
            __init__.py
.python-version
pyproject.toml
README.md

のようになります。 直下にmain.pyが作られる代わりに、./src/パッケージ名 配下にinit.pyが作られるのです。 漫然とuv initを叩くと、挙動が変わって焦ります。

uv init のデフォルト動作(プロジェクト構造のテンプレート)が変更されました。

以前のデフォルトは --bare(または フラット構成) に近い形(直下に main.py が生成されるシンプルな構成)でしたが、現在はパッケージ開発のベストプラクティスである src レイアウト(src/<package_name>/init.py) がデフォルトとして採用されるようになっています。

つまり、今風にしたよということのようです。

今まで通りにしたければ、--no-package フラグを付けることで、src ディレクトリを作成せず、プロジェクト直下に main.py を配置する従来のフラットなアプリ構成になります。

uv init --no-package

なぜ仕様変更したのかなどは、AIに聞いてみてください。 AIは、色々な疑問に答えてくれて便利ですね。

今後は、仕様変更理由に納得がいけば、pyファイルはsrcディレクトリに全部置く形でいいと思います。 ただ、ちょっと試してみるとかのレベルだと、かえって面倒です。

また、実行するときは、

uv run パッケージ名

とする必要があるので、VSCodeなどがまだ対応していないので、デバッグするときなど、コマンドラインから実行する必要があったり、または設定ファイルを書き直すなどが必要になります。 このあたりもAIに聞いてみてください。詳しく教えてくれます(手抜き)。

とにかく、uv initの仕様が変わったから、updateしたときには焦らないで対応してくださいねという記事でした。

最近はAIが的確に教えてくれるので、そのコピペみたいな記事を書く気がなくなってしまって、「これこれこういうのはAIに聞いて」みたいな記事になってしまいますが、読者側も拙い説明より、そのほうがいいでしょう。 私も、「uv initの挙動が変わったみたい」ぐらいの質問から、色々わかりましたので。

Google Pixel 8 Mint × ハンギョドン コラボパック

Google Storeで、Google Pixel 8 Mint × ハンギョドン コラボパックが限定販売されています

パッケージがふたつ送られてきました

ストラップとケース

ケースを取り付けました

ハンギョドン思ったよりいいですね。でも、ハンギョドンの持っているPixelはハンギョドンのケースを付けていないというw

Google創立25周年記念ののピンバッジが同梱されていたのもうれしい

Ubuntu on WSL2のときのネットワーク設定

WSL2でUbuntuをインストールし、アップデートしようと $ sudo apt update とすると、以下のエラー Err:~~~ Temporary failure resolving 'archibe.ubuntu.com' 名前解決できていないので、Windowsのコマンドプロンプトで設定すべきネームサーバーを調べる

nslookup 既定のサーバー: resolvsv.~~~~~ Address: 10.~~~~

このアドレスをUbuntuのresolv.confに設定する $ sudo vi /etc/resolv.conf

nameserver 10...~~~

wsl再起動で戻ってしまってだめ /etc/wsl.conf でresolv.confを自動生成されないようにする [network] generateResolvConf=false

VSCodeからMariaDBを使おうとしてはまった件(環境構築方法)

VSCode上ででSQLをコーディングする環境を作った時の備忘録。

家にマイデータベースが欲しくなり、SynologyのNAS上にMariaDBをインストールし、WindowsのVisual Studio Code(VSCode)上で開発できる環境を構築することにしました。

以下の環境としました(バージョンは省略:ほぼ最新)。

Server側

  • HW: SynologyのNAS(DiskStation)
    以下の環境をSynologyのパッケージセンターから構築
  • OS: Linux
  • DBMS: MariaDB

Client側

Server側構築

DiskStation Manager (DSM)から実行

Client側設定

接続確認

  • VSCodeのアクティビティバーの次のマークをクリックしてSQLToolsを起動
    SQLToolsのアイコン
  • "Add New Connection"を選択して、Connection Assistantの画面になります。ここでdriverを選択するのですが、SQLToolsにはdriverが入っていないので最初はドライバーがない旨のメッセージになります。この場合は"SQLTools MySQL/MariaDB/TiDB"という拡張機能を追加でダウンロードします。拡張機能名だけ見るとdriverなの?と思うかもしれませんが、説明では"SQLTools MySQL/MariaDB/TiDB Driver"となっています。
  • "Select your database driver"で、MariaDBを選択します。
  • "Connection Settings"にMariaDBへの接続設定を入力して"TEST CONNECTION"をクリック。
  • "Successfully connected!"と表示されたら、"SAVE CONNECTION"をクリックして設定を保存します。 ここで、以下の問題点が出ました。

問題点

VSCodeの拡張機能SQLToolsからMariaDBに接続しに行って失敗しました。

ホスト名を設定したのですが、IPv6で接続に行っており、それをMariaDBが拒否しているようです。 pingはipv6で通るので、SQLToolsの問題ではなく、MariaDBの設定を修正する必要があります。 調べると、以下の情報がありました。 superuser.com (DSMから)PHPmyadminで簡単に設定できないようですので、ホスト名での設定はあきらめてIPv4アドレスを直打ちすることにしました。

気が向いたらちゃんとした解決策を施したいのですが、せっかくDSMをつかってチャチャッと構築したので、後回しでいいかと思っています(そもそもMariaDBの構築がメインではないし)。解決したらまた記事を書こうと思います。

おまけ(その他の注意点)

SQLToolsでおかしくなったら、まずVSCodeを再起動してください。またWindowsを再起動も試してみてください。設定では基本的なことですが、最近は再起動しない場合が多いので忘れがちです。わけわからなくなったら1度は試してみましょう。
古い人は、こまめなセーブと再起動をよくやります😉