2013-01-16 6 views
7

ploneのfunnelwebアドオンを使用してサイトから静的ページをインポートしようとしています。ここに私が書いたものがあります:bin/funnelweb --crawler:url=http://wiki.scandiatransplant.com --crawler:max=50 --ploneupload=http://admin:[email protected]:8080/TestPageFunnelwebエラー、OrderedDictをインポートできません

私はこのエラーを取得する取得:

ImportError: cannot import name OrderedDict 

フルトレースバックを下に追加されます。誰もこれを解決する方法を知っていますか?

Traceback (most recent call last): 
    File "bin/funnelweb", line 116, in <module> 
    mr.migrator.runner.runner({},"funnelweb.remote") 
    File "/home/magiq/Plone/buildout-cache/eggs/mr.migrator-1.0.1-py2.6.egg/mr/migrator/runner/__init__.py", line 69, in runner 
    load_config('autoinclude.zcml', mr.migrator) 
    File "/home/magiq/Plone/buildout-cache/eggs/Zope2-2.13.12-py2.6.egg/Zope2/App/zcml.py", line 55, in load_config 
    _context = xmlconfig.file(config, package, _context, execute=execute) 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/xmlconfig.py", line 649, in file 
    include(context, name, package) 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/xmlconfig.py", line 548, in include 
    processxmlfile(f, context) 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile 
    parser.parse(src) 
    File "/home/magiq/Plone/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 107, in parse 
    xmlreader.IncrementalParser.parse(self, source) 
    File "/home/magiq/Plone/Python-2.6/lib/python2.6/xml/sax/xmlreader.py", line 123, in parse 
    self.feed(buffer) 
    File "/home/magiq/Plone/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 207, in feed 
    self._parser.Parse(data, isFinal) 
    File "/home/magiq/Plone/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 349, in end_element_ns 
    self._cont_handler.endElementNS(pair, None) 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS 
    self.context.end() 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/config.py", line 558, in end 
    self.stack.pop().finish() 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/config.py", line 706, in finish 
    actions = self.handler(context, **args) 
    File "/home/magiq/Plone/buildout-cache/eggs/z3c.autoinclude-0.3.4-py2.6.egg/z3c/autoinclude/zcml.py", line 104, in includePluginsDirective 
    includeZCMLGroup(_context, info, filename) 
    File "/home/magiq/Plone/buildout-cache/eggs/z3c.autoinclude-0.3.4-py2.6.egg/z3c/autoinclude/zcml.py", line 30, in includeZCMLGroup 
    include(_context, filename, includable_package) 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/xmlconfig.py", line 548, in include 
    processxmlfile(f, context) 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/xmlconfig.py", line 380, in processxmlfile 
    parser.parse(src) 
    File "/home/magiq/Plone/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 107, in parse 
    xmlreader.IncrementalParser.parse(self, source) 
    File "/home/magiq/Plone/Python-2.6/lib/python2.6/xml/sax/xmlreader.py", line 123, in parse 
    self.feed(buffer) 
    File "/home/magiq/Plone/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 207, in feed 
    self._parser.Parse(data, isFinal) 
    File "/home/magiq/Plone/Python-2.6/lib/python2.6/xml/sax/expatreader.py", line 349, in end_element_ns 
    self._cont_handler.endElementNS(pair, None) 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/xmlconfig.py", line 359, in endElementNS 
    self.context.end() 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/config.py", line 558, in end 
    self.stack.pop().finish() 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/config.py", line 705, in finish 
    args = toargs(context, *self.argdata) 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/config.py", line 1397, in toargs 
    args[str(name)] = field.fromUnicode(s) 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/fields.py", line 137, in fromUnicode 
    value = self.context.resolve(name) 
    File "/home/magiq/Plone/buildout-cache/eggs/zope.configuration-3.7.4-py2.6.egg/zope/configuration/config.py", line 179, in resolve 
    mod = __import__(mname, *_import_chickens) 
    File "/home/magiq/Plone/buildout-cache/eggs/transmogrify.webcrawler-1.2.1-py2.6.egg/transmogrify/webcrawler/webcrawler.py", line 21, in <module> 
    from collections import OrderedDict 
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/home/magiq/Plone/buildout-cache/eggs/mr.migrator-1.0.1-py2.6.egg/mr/migrator/autoinclude.zcml", line 10.4-10.85 
    ZopeXMLConfigurationError: File "/home/magiq/Plone/buildout-cache/eggs/transmogrify.webcrawler-1.2.1-py2.6.egg/transmogrify/webcrawler/configure.zcml", line 9.4-10.46 
    ImportError: cannot import name OrderedDict 

答えて

25

OrderedDictはPython 2.7に追加された新しいクラスですので、あなたのケースではありません。あなたはbackportをインストールすることができ

pip install ordereddict 

たり、増築で依存関係としてそれを追加し、からの輸入を変更するPlone/buildout-cache/eggs/transmogrify.webcrawler-1.2.1-py2.6.egg/transmogrify/webcrawler/webcrawler.pyライン21を編集:

try: 
    from collections import OrderedDict 
except ImportError: 
    # python 2.6 or earlier, use backport 
    from ordereddict import OrderedDict 

from collections import OrderedDict 

私はに問題を提出しましたを使用して、これがパッケージの将来のリリースに追加されるように要求してください。issue 22を参照してください。

+0

私はfunnelwebを3台目のマシンにインストールしており、OrderedDictをインポートできないというメッセージに問題があります。私はここで提案したようにしましたが(これは以前の2台のマシンではうまくいきました)、この3台目のマシンではまだ不満があります。上記以外のアプローチがありますか?また、私はこのマシンにPloneの最新バージョンを持っていませんでした(しかしそれはまだバージョン4.xです)。これは、ordereddictのインストールに影響しますか?そうでない場合は、アドオンの不一致が原因でploneをアップグレードしないでください。 – user1960836

+0

Ploneの以前のバージョンはPython 2.7をサポートしていません(公式にはおそらく動作します)ので、Python 2.6以前で動作している可能性があります。 'ordereddict'パッケージを正しいPythonインストールにインストールする必要があります。あなたのPythonプロンプトで 'import ordersdict'が失敗した場合(Ploneサーバーを実行している*正しい* pythonがあることを100%確信していることを確認してください)、正しい場所にインストールしていません。 –

+0

実際にはstacktraceのいくつかを以下に示します: コレクションfrom OrderedDict zope.configuration.xmlconfig.ZopeXMLConfigurationError:ファイル "/usr/local/Plone/buildout-cache/eggs/mr.migrator-1.0.1-py2.6 .egg/mr/migrator/autoinclude.zcml "、行10.4-10.85 ZopeXMLConfigurationError:ファイル" /usr/local/Plone/buildout-cache/eggs/transmogrify.ploneremote-1.3-py2.6.egg/transmogrify/ploneremote/ configure.zcml "、行24.4-25.67 ImportError:名前をインポートできませんOrderedDict – user1960836

関連する問題