Python 导入不起作用?
我正在用python做一些单元测试,一切都正常,但我遇到了一个非常奇怪的问题,我想,通过导入,遵循这个问题: 我正试图在我的测试中创建一个对象API,就像我所做的其他测试一样,但我遇到了以下错误:Python 导入不起作用?,python,unit-testing,import,Python,Unit Testing,Import,我正在用python做一些单元测试,一切都正常,但我遇到了一个非常奇怪的问题,我想,通过导入,遵循这个问题: 我正试图在我的测试中创建一个对象API,就像我所做的其他测试一样,但我遇到了以下错误: ====================================================================== ERROR: setUpClass (__main__.TestGlance) ----------------------------------------
======================================================================
ERROR: setUpClass (__main__.TestGlance)
----------------------------------------------------------------------
Traceback (most recent call last):
File "glance_tests.py", line 22, in setUpClass
self.glnce = glance.GlanceApi("")
AttributeError: 'module' object has no attribute 'GlanceApi'
这是我的代码:
import unittest
import json
import time
import sys
sys.path.append("../src")
import glance
import novaapiclient
class TestGlance(unittest.TestCase):
@classmethod
def setUpClass(self):
confFile = file('config.txt', 'r+w')
configs = ""
for line in confFile:
if not (line.startswith('#')) and len(line) != 0:
configs = line.split(';')
novaAPI = novaapiclient.NovaApiClient(str(configs[0]))
novaAPI.make_auth(configs[1], configs[2], configs[3])
self.glnce = glance.GlanceApi() # << HERE ERROR
self.glnce.set_auth_obj(novaAPI.get_auth_obj())
这是目录结构:
Project
+ src/
- glance.py
- ...
+ Tests/
- glance_tests.py
- ...
编辑
如何解决?我不知道,但我已经这样做了,我创建了一个名为GleaseAPI.py的新文件,并将内容复制到Glease.py文件中,在导入时更改名称,它就可以工作了,我不知道问题出在哪里,可能是一些python错误,好吧,我想感谢那些试图帮助我的人。转到IDLE,看看PYTHONPATH是什么
import sys
sys.path
如果在路径中找不到Glance所在的位置,我想您必须使用sys.path.append插入/附加它。请看如何在此处执行参数和操作:
编辑:如果这不起作用,请告诉我。您能显示glance和GleaseAPI代码吗?Glease是python文件的名称,GleaseAPI是Glease文件中的类的名称。@guisantogui如果是这样,我们就不会看到这个错误。发布glance.py并让我们看看,否则,我们将无法告诉您出了什么问题。还有glance.py吗?目录结构是什么?您的$PYTHONPATH是什么?@Lattyware这种类型的错误也可能发生在循环导入问题中,其中模块在调用之前尚未完全加载。尽管这似乎与复制粘贴到不同文件修复了问题的事实不太相符。
import sys
sys.path