0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

既存のPythonプロジェクトをuv管理に変更する手順

Last updated at Posted at 2026-01-16

既存プロジェクトもuvにしたい

Python学習で過去に作ったプロジェクトをuv管理に変更してみます。

【プロジェクトの状況】

  • VSCode利用
  • venv(Python標準ライブラリ)を使った仮想環境を利用
  • .venvフォルダが存在する
  • requirements.txt なし
  • pyproject.toml なし

下記の手順を試されるかたは
念のためプロジェクトフォルダごとバックアップしておいてください。

1.既存 .venv から requirements.txt を生成

1.1 VSCodeでプロジェクトを開く
1.2 VSCodeでターミナルを開く
1.3 ターミナルで.venvをアクティベート

(プロジェクトフォルダがカレントディレクトリの状態で)
.\.venv\Scripts\Activate.ps1

1.3 現在の環境に入っているライブラリ等の情報をエクスポート

(仮想環境がアクティベイトされた状態で)
pip freeze > requirements.txt

プロジェクトフォルダにrequirements.txtが作成される

2. .venvフォルダを削除

2.1 ターミナルを閉じる
2.2 VSCodeのエクスプローラーで.venvフォルダを削除

3.uv初期化(初期ファイル作成)

3.1 VSCodeでターミナルを開く

(プロジェクトフォルダがカレントディレクトリの状態で)
uv init

プロジェクトフォルダに初期ファイルが作成される

-.python-version
-main.py(サンプルソースなので削除してOK)
-pyproject.toml
-README.md

4. (uvの)仮想環境作成

uv add -r requirements.txt

-プロジェクトフォルダに.venvフォルダが作成される
-.venvフォルダにrequirements.txtの依存ライブラリなどがインストールされる
-pyproject.tomlに依存ライブラリなどの情報が自動で追記される
-uv.lockが自動作成される(pyproject.tomlをもとに実際にインストールされたバージョンなどの情報)

ここまでのコマンドまとめ

..venv\Scripts\Activate.ps1
pip freeze > requirements.txt
rm -rf .venv
uv init
rm -f main.py
uv add -r requirements.txt

5. VSCode の 仮想環境の自動認識の確認

※自動的にアクティベートされない場合もあるので必須ではありません。
5.1 VSCodeでターミナルを開く
自動的に.venv/Scripts/Activate.ps1が実行され
プロンプトの表記がかっこ表記でプロジェクト名(仮想環境名?)になる

6.Pythonのインタープリタの指定の確認

6.1 VSCode で任意のPythonのソースを開く
画面右下にPythonのバージョンとかっこ表記でプロジェクト名(仮想環境名?)になる
※wslなどにリモートで接続しているときは表示されないことがあります。

設定(Ctrl+Shift+P)からも確認可能です。
Python:Select Interpreter
インタープリタの指定の画面が表示されない場合は
Pythonの拡張機能がインストール済みか確認してみてください。

7. チーム開発などで他の人にも同じ環境としてもらうには

7.1 他の人の環境にも uv をインストールしてもらう
7.2 ソースとともに下記のファイルを渡す
-.python-version Pythonのバージョンの宣言
-pyproject.toml 依存の宣言(範囲指定OK)
-uv.lock依存の完全固定※バージョンの指定を厳密に同じにしたい場合はこのファイルも渡す

  • .venvフォルダは渡さない

7.3 uv管理下のPythonインストール
.python-version に記載と同じバージョンを指定する

PowerShell
uv python install (Get-Content .python-version)

または

PowerShell
uv python install 3.13 のようにバージョンを直接書いてもOK

7.4 プロジェクトフォルダで同期実行

uv sync

ここまでの手順でたぶん同じ環境になると思います。

補足

と、ここまで書いて思ったのですが、
VSCodeの拡張機能についても同じにしてもらう方法を調べる必要がありますね…。
.vscode/extensions.json を渡すとか?
Dev Container を使うとか?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?