ImportError: cannot import name 'ddt'

ImportError: cannot import name 'ddt'

我在 Windows 中使用 Python3.5 和 pip 版本 8.0.2。我使用 'pip install ddt' 安装了 ddt 库。在代码中使用 ddt 库时,出现导入错误。如何摆脱这个错误?

import unittest
from selenium import webdriver
from ddt import ddt, data ,unpack
import time


@ddt
class Search(unittest.TestCase):
    def setUp(self):

        #some code

    @data(("phones",2),("music", 5))
    @unpack
    def test_searchproducts(self, searchterm, results):

        #some code


    def tearDown(self):

        self.driver.quit()

if __name__ == "__main__":
    unittest.main()



Traceback (most recent call last):
File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.5.4\helpers\pycharm\utrunner.py", line 120, in <module>
modules = [loadSource(a[0])]
File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.5.4\helpers\pycharm\utrunner.py", line 41, in loadSource
module = imp.load_source(moduleName, fileName)
File "C:\Program Files (x86)\Python 3.5\lib\imp.py", line 172, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 693, in _load
File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 662, in exec_module
File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
File "C:\Users\murugamx\PycharmProjects\New Project\Selenium Learning\ddt.py", line 3, in <module>
from ddt import ddt, data ,unpack
ImportError: cannot import name 'ddt'

你的py文件的名字是ddt。这是一个错误。您不能以正在导入的库的名称命名文件。

From the Python Doc:

When a module named spam is imported, the interpreter first searches for a built-in module with that name. If not found, it then searches for a file named spam.py in a list of directories given by the variable sys.path. sys.path is initialized from these locations:

  • The directory containing the input script (or the current directory when no file is specified).

所以当你使用导入时,它搜索的第一个地方就是你的当前目录。这就是您的错误发生的原因。