首页 > 解决方案 > 为什么导入无法在 Pycharm 中拉入类?

问题描述

我正在关注这个例子: https ://www.jetbrains.com/help/pycharm/pytest.html

我在 src/ 项目下创建了两个类: Car.py 和 test_car_pytest.py:

class Car(object):
    def __init__(self, speed=0):
        self.speed = speed
        self.odometer = 0
        self.time = 0
   ...

然后在 test_car_pytest.py 中:

from Car import Car

def test_car_brake():
    car = Car(50)
    assert car.speed == 45

在 PyCharm 中,import 语句显示“Car”是一个未解析的引用。当我尝试运行它时,出现以下错误:

============================= test session starts ==============================
platform darwin -- Python 3.6.8, pytest-4.2.0, py-1.7.0, pluggy-0.8.1
rootdir: /Users/minn/PycharmProjects/test/src, inifile:
test_car_pytest.py:None (test_car_pytest.py)
ImportError while importing test module '/Users/minn/PycharmProjects/test/src/test_car_pytest.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
test_car_pytest.py:1: in <module>
    from Car import Car
E   ModuleNotFoundError: No module named 'Car'

当我单独执行 Car.py 时,它运行正常。2个文件在同一个目录下,为什么导入失败?

标签: pycharm

解决方案


由于您使用的是 Python 3,因此您需要相对导入。将您的导入语句更改为以下内容:

from .Car import Car

推荐阅读