uvでpytestを使ったらmodule not foundと出た【Python】

June 20, 2025, 1:15 p.m.

#Python 

最近流行りのPythonパッケージ管理ソフト uv を使ってみている。とりあえず

$ uv init uv_pytest_test
$ cd uv_pytest_test
$ uv add numpy

からの

import numpy as np

def test_numpy():
    a = np.array([10, -20, 30])
    assert a.sum() > 0

として、

$ uvx pytest

とすると

test_numpy.py:1: in <module>
    import numpy as np
E   ModuleNotFoundError: No module named 'numpy'

というエラーが出てしまう。(もちろん uv tool run pytest でも同じエラーとなる。 uvxuv tool run のエイリアスなので)

ということで調べてみると、 uv run pytest not recognizing the project module #9291 という Issue があり、いっぱいリアクションもらってる良さげな回答があった。そこに倣い、

$ uv add --dev pytest

としてから

$ uv run -m pytest

test_numpy.py .                                [100%]

================= 1 passed in 0.03s ==================

と解決した。