2017-01-02 11 views
1

を使用しようとしており、ワークスペースの作成時にConfigParserインスタンスを使用する必要があります。私は以下のように試してみました:cubes.errors.ConfigurationError:configはConfigParserインスタンスである必要がありますが、<type 'instance'>

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

どのように私はこの問題を解決することができますか?

+0

'workspace = Workspace(config = 'slicer.ini')'を試してください。 –

+0

これはエラーです.configはConfigParserインスタンスでなければなりませんが、 SaikiHanee

+2

OKです。 'import ConfigParser'の代わりに' cubes.compat import ConfigParser'から 'configg = ConfigParser()'を実行します。 –

答えて

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に切り替えてください。:)

関連する問題