为什么导入无法在Pycharm中上课?

时间:2019-02-16 01:25:22

标签: 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时,它将正常运行。这两个文件位于同一目录下,为什么导入失败?

1 个答案:

答案 0 :(得分:2)

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

from .Car import Car