cubes.errors.ConfigurationError:config应该是ConfigParser实例,但是<type'instance'=“”>

时间:2017-01-02 20:15:15

标签: python python-2.7 python-3.x types instance

我正在尝试使用MCVE,并且在创建工作区时需要使用ConfigParser实例。我尝试如下:

from cubes import Workspace
import ConfigParser

configg = ConfigParser.ConfigParser()
print configg
print type(configg)
configg.read('slicer.ini')
workspace = Workspace(config=configg)

以下是输出:

<ConfigParser.ConfigParser instance at 0x0387F148>
Traceback (most recent call last):
<type 'instance'>
  File "C:/Users/saiki/PycharmProjects/bcubes2/b_cubes.py", line 8, in <module>
    workspace = Workspace(config=configg)
  File "build\bdist.win32\egg\cubes\workspace.py", line 83, in __init__
cubes.errors.ConfigurationError: config should be a ConfigParser instance, but is <type 'instance'>

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

变化:

import ConfigParser

为:

from cubes.compat import ConfigParser 

并制作一个实例:

configg = ConfigParser().

cubes库使用兼容性模块使其适用于Python 2和3.它执行以下操作:

if py3k:
    # ...
    from configparser import ConfigParser
    # ...
else:
    from ConfigParser import SafeConfigParser as ConfigParser
    # ...

因此,如果您使用的是Python 2,那么您需要一个SafeConfigParser实例。 更简单:只需使用cubes.compat.ConfigParser

更好:切换到Python 3. :)