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。这是一个错误。您不能以正在导入的库的名称命名文件。
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).
所以当你使用导入时,它搜索的第一个地方就是你的当前目录。这就是您的错误发生的原因。
我在 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。这是一个错误。您不能以正在导入的库的名称命名文件。
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).
所以当你使用导入时,它搜索的第一个地方就是你的当前目录。这就是您的错误发生的原因。