2016-07-21 20 views
2

ich versuche CKAN 2.5.2 auf Centos 6.8Fehler beim Erstellen von Datenbanktabellen - CKAN

zu installieren Wenn ich Paster laufen db init -c /etc/ckan/default/development.ini

i Fehler erhalten

Traceback (most recent call last): 
    File "/usr/lib/ckan/default/bin/paster", line 9, in <module> 
    load_entry_point('PasteScript==2.0.2', 'console_scripts', 'paster')() 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/script/command.py", line 102, in run 
    invoke(command, command_name, options, args[1:]) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/script/command.py", line 141, in invoke 
    exit_code = runner.run(args) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/script/command.py", line 236, in run 
    result = self.command() 
    File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 205, in command 
    self._load_config(cmd!='upgrade') 
    File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 142, in _load_config 
    conf = self._get_config() 
    File "/usr/lib/ckan/default/src/ckan/ckan/lib/cli.py", line 139, in _get_config 
    return appconfig('config:' + self.filename) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 261, in appconfig 
    global_conf=global_conf) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext 
    global_conf=global_conf) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 320, in _loadconfig 
    return loader.get_context(object_type, name, global_conf) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 454, in get_context 
    section) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 476, in _context_from_use 
    object_type, name=use, global_conf=global_conf) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 406, in get_context 
    global_conf=global_conf) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext 
    global_conf=global_conf) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 328, in _loadegg 
    return loader.get_context(object_type, name, global_conf) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 620, in get_context 
    object_type, name=name) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/paste/deploy/loadwsgi.py", line 646, in find_egg_entry_point 
    possible.append((entry.load(), protocol, entry.name)) 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/pkg_resources/__init__.py", line 2229, in load 
    return self.resolve() 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/pkg_resources/__init__.py", line 2235, in resolve 
    module = __import__(self.module_name, fromlist=['__name__'], level=0) 
    File "/usr/lib/ckan/default/src/ckan/ckan/config/middleware.py", line 28, in <module> 
    from ckan.config.environment import load_environment 
    File "/usr/lib/ckan/default/src/ckan/ckan/config/environment.py", line 18, in <module> 
    import ckan.lib.helpers as h 
    File "/usr/lib/ckan/default/src/ckan/ckan/lib/helpers.py", line 30, in <module> 
    from bleach import clean as clean_html 
    File "/usr/lib/ckan/default/lib/python2.6/site-packages/bleach/__init__.py", line 8, in <module> 
    from html5lib.sanitizer import HTMLSanitizer 
ImportError: No module named sanitizer 

I wiki instructions

folgte ich bin auf diesem Schritt stecken und nicht wissen, wie es weitergeht.

Modul html5lib wird importiert und auf die neueste Version aktualisiert. Paster-Skript wird in virtualenv unter root-Account ausgeführt.

Auch ich renne all dies in Python2.6 seit das ist standardmäßig auf Centos.

Einige zusätzliche Informationen

wenn ich Python und Import html5lib laufen und dann Hilfe (html5lib) bekomme ich diese

>>> import html5lib 
>>> help(html5lib) 
Help on package html5lib: 

NAME 
    html5lib 

FILE 
    /usr/lib/python2.6/site-packages/html5lib/__init__.py 

DESCRIPTION 
    HTML parsing library based on the WHATWG "HTML5" 
    specification. The parser is designed to be compatible with existing 
    HTML found in the wild and implements well-defined error recovery that 
    is largely compatible with modern desktop web browsers. 

    Example usage: 

    import html5lib 
    f = open("my_document.html") 
    tree = html5lib.parse(f) 

PACKAGE CONTENTS 
    _ihatexml 
    _inputstream 
    _tokenizer 
    _trie (package) 
    _utils 
    constants 
    filters (package) 
    html5parser 
    serializer 
    treeadapters (package) 
    treebuilders (package) 
    treewalkers (package) 

CLASSES 
    __builtin__.object 
     html5lib.html5parser.HTMLParser 

    class HTMLParser(__builtin__.object) 
    | HTML parser. Generates a tree structure from a stream of (possibly 
    | malformed) HTML 
    | 
    | Methods defined here: 
: 

Es gibt keine Sanitizer hier. Muss ich eine bestimmte Version von html5lib verwenden?

Kann jemand helfen?

+0

Bitte geben Sie den vollständigen Stack-Trace, nicht diese teilweise ein. –

+0

Vollständige Stapelverfolgung hinzugefügt. –

+0

Großartig, aber jetzt haben Sie die Fehlerzeile am Ende des Stacktrace verpasst! –

Antwort

1

Es sieht so aus, als ob Sie 2 Kopien von html5lib installiert haben. Wenn du help (html5lib) hast, wird eine Kopie angezeigt, die im Python-Verzeichnis deines Benutzers installiert ist (/usr/lib/python2.6/site-packages/) und nicht die virtuelle Version, auf der du ckan (und bleach) installiert hast (/ usr /lib/ckan/default/lib/python2.6/site-packages/). Also los, um Verwirrung zu vermeiden.

Ja ich denke, Sie haben die falsche Version von html5lib, da Sanitizer in den Paketinhalt aufgeführt ist, wenn ich helfe.

Dies ist die richtige Version (zum Zeitpunkt des Schreibens - in Zukunft überprüfen, was in requirements.txt ist):

$ pip freeze | grep html5lib 
html5lib==0.9999999 
+0

Vielen Dank. all diese Neun sind verwirrend. Ich werde mehr auf anforderungen achten.txt. Alles ist jetzt in Ordnung, außer dass ich einen internen Serverfehler auf http // mydomain.com/dataset habe. Aber das ist etwas ganz anderes. –

+0

Ich denke, es ist falsch, das Problem ist, weil eine aktuelle Änderung am Paket: https://github.com/html5lib/html5lib-python/issues/277 – LeonanCarvalho

+0

Ja, das Problem ist mit einer Änderung in html5lib 0.999999999 gesehen. Das Update ist weiterhin auf html5lib 0.9999999 zurückgesetzt. Dies wird in den kommenden Releases behoben - siehe https://github.com/ckan/ckan/issues/3257#issuecomment-249828493/https://github.com/ckan/ckan/issues/3214 –