2017-08-05 6 views
1

私はpython.Iで新鮮、私はちょうど代わりに辞書を使用する場合、私は2.7のPython 3.4引き起こし型関数エラー

File "C:\pyprojects\focus\site\focus2\flow.py", line 24, in _wrapper 
    cls._meta = type("Meta",(), BaseFlowTile.Meta.__dict__) 
TypeError: type() argument 3 must be dict, not mappingproxy 

に次のエラーを取得ではなく、のpython 3.4をコンパイルのpython 2.7および3.4​​.Whenを持っています__dict__はその後、私はすべてのヘルプは高く評価され、次のエラー

AttributeError: type object 'Meta' has no attribute 'dict' 

を取得します。

+0

大変申し訳ありませんが、私はそれを間違った方法を読んでください! –

+0

私はタイトルと投稿も変更しました。 –

答えて

1

Python 3.3では、MappingProxyTypeが導入されました。基本的には、一部はoptimizationsです。

あなたはPythonのバージョンの両方のために、このコピーを使用することができるはずです。

cls._meta = type("Meta",(), BaseFlowTile.Meta.__dict__.copy()) 
+0

ブリリアント。どうもありがとう。それは今働いている。 –

+1

@PrithvirajMitra:追跡するのに少し時間がかかりました。あなたのような興味深い(珍しい)質問を見つけるのはいつも楽しいことです。 – Gerrat

関連する問題