以下の内容はhttps://yaritakunai.hatenablog.com/entry/migrate-to-uvより取得しました。


Pythonの仮想環境をMiniforgeからuvに移行する

スポンサーリンク
※当ブログのAmazon、iTunes、サウンドハウス等のリンクはアフィリエイトを利用しています。

uvが流行っているので移行した。

 

Miniforgeの仮想環境のエクスポート

# Miniforgeで作成した仮想環境を確認
conda env list

以下で仮想環境ごとに“requirements.txt”を作成する。pipでインストールしたパッケージも出力される。pip freezeだとcondaで入れたやつが表示されない。ただ、後述するが結局pip list --format=freezeの方がよかったかもしれない。

# wheel=0.37.1=pyhd8ed1ab_0 から wheel==0.37.1 のように整形
conda list -n hoge -e | cut -d= -f -2 | sed 's/=/==/' >requirements_conda_hoge.txt

 

Miniforgeのアンインストール

Homebrewで入れたもの。

.zshrcの# >>> conda initialize >>>から# <<< conda initialize <<<までの記述を削除する。

仮想環境が心配な場合、/usr/local/Caskroom/miniforge/base/envsをコピーしておく。

ここからは実際のアンインストール。

brew uninstall miniforge
rm -rf ~/.condarc ~/.conda
# オプション
brew uninstall conda-zsh-completion

 

uvのインストール

Homebrewで入れる。

brew install uv

 

“requirements.txt”から環境を復元する

condaでは環境とプロジェクトは1対1対応しなくてもいけたが、uvではそうではないので各“requirements.txt”を相当するプロジェクトフォルダに配置しておく。

まずはinit。

# pythonのバージョンは“requirements.txt”から確認
uv init --bare -p 3.11.4

そして、以下を実行すればいいのだがconda-forgeにしかないやつが含まれているので当然エラーが出る。

uv add -r requirements_conda_hoge.txt -p 3.11.4

エラーを吐かなくなるまで該当のパッケージをコメントアウトし、このコマンドを繰り返した。

後述すると言っていたが、pip list --format=freezeならこの作業を省けるはずである。試していないが。

今回の方法はバックアップ的な要素が強いのかもしれない。いずれの方法にせよ、完全な移行とは言えない。

 

おわりに

uvめちゃ速い。

uv runで実行すればactivateいらないのが便利。




以上の内容はhttps://yaritakunai.hatenablog.com/entry/migrate-to-uvより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14