Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 导入不起作用?_Python_Unit Testing_Import - Fatal编程技术网

Python 导入不起作用?

Python 导入不起作用?,python,unit-testing,import,Python,Unit Testing,Import,我正在用python做一些单元测试,一切都正常,但我遇到了一个非常奇怪的问题,我想,通过导入,遵循这个问题: 我正试图在我的测试中创建一个对象API,就像我所做的其他测试一样,但我遇到了以下错误: ====================================================================== ERROR: setUpClass (__main__.TestGlance) ----------------------------------------

我正在用python做一些单元测试,一切都正常,但我遇到了一个非常奇怪的问题,我想,通过导入,遵循这个问题:

我正试图在我的测试中创建一个对象API,就像我所做的其他测试一样,但我遇到了以下错误:

======================================================================
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