ImportError:无法导入名称' ddt'

时间:2016-01-28 03:23:46

标签: python selenium ddt

我在Windows中使用带有pip版本8.0.2的Python3.5。我使用&pap 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'

1 个答案:

答案 0 :(得分:0)

你的py文件名是ddt。这是一个错误。您无法在导入库的名称后命名文件。

From the Python Doc:

  

当导入名为spam的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,则会在变量sys.path给出的目录列表中搜索名为spam.py的文件。 sys.path从这些位置初始化:

     
      
  • 包含输入脚本的目录(或未指定文件时的当前目录)。
  •   

因此,当您使用导入时,它搜索的第一个位置是您当前的目录。这就是您的错误发生的原因。

相关问题