2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

背景

uv 使いだして疑問になったこと

  • 仮想環境指定してないのに、何で動くん?そもそも、どこの環境使ってるん?

ってこと、requirements.txt で簡単に pip install 出来るのは便利なんだけど、uv が効いてる環境ですぐに使えちゃうことで、想定していない python 環境使ってたりすることがあったので、ちょっと調べた記録

結論

以下、かな?

If we discover a workspace, we use the current behavior.
If we can't discover a workspace, we use our standard Python interpreter discovery, and run in that interpreter. (So, e.g., run in the current venv, or a discovered venv, or whatever you pass in --python.)
We add an option to mark a pyproject.toml as "not managed by uv" / "not part of a workspace" (like managed = false or workspace = false) so that you can use this in codebases that have a pyproject.toml but want to use the pip API.

ざっくりでいくと

  1. 現在の環境を使う < 環境設定かな?

  2. 無い場合、標準のPythonインタープリタ検出を使用し、実行する。
    ex.) 現在の venv、検出された仮想環境、or --python の指定環境

  3. toml や workspace を利かせないようなオプションもあるよ。
    ⇒そういう環境下で、使いたい場合用?

実際に使っている環境を調べるには?

こんな感じで調べて、インタラプターを設定すればOK

uv run display_environment.py

display_environment.py
import sys

# Pythonの検索パスを表示
print("\nPython module search paths:")
for path in sys.path:
    print(path)
    
print("Python executable:", sys.executable)
print("Python version:", sys.version)
print("Python prefix:", sys.prefix)

たぶん、こっちでやっても同じ筈

uv
uv python find

よくある困りごと

error: No virtual environment found; run uv venv to create an environment, or pass --system to install into a non-virtual environment

仮想環境がないと、uv pip install が出来ないってだけなので
uv venv で仮想環境作ればOK
あとは、compile/install してやる

uv pip install を継続
uv pip compile .\requirements.in --output-file requirements.txt
uv pip install -r requirements.txt

vs code で、import が反応しない

環境がずれてるので、uv で使ってる環境に合わせれば ok

image.png

warning: VIRTUAL_ENV=venv3125 does not match the project environment path .venv and will be ignored

環境不一致ってことなので、以下のようにして一致させれば解決はする

set environment
$env:UV_PROJECT_ENVIRONMENT  = "{to path}\venv3125”

あとがき

徐々に理解が深まっていくと楽しいですな :laughing:

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?