2017-05-13 4 views
1

Dies Ich hoffe ganz einfache Frage - aber kann ein wenig komplizierter durch die Tatsache, dass ich den Divio Django cms Service verwenden.Django CMS - Import: Kein Modul mit dem Namen Abschlag

Ich verwende Python 2.7.11 und Django 1.11.1 für alle Eierköpfe, die sich um diese Dinge kümmern.

Im Grunde ist meine App versagt das Markdown-Paket zu finden:

import markdown 

oder

from markdown import markdown 

oder

from markdown import * 

oder sogar (dies ist Lust bekommen)

try: 
    from markdown import markdown 
except ImportError: 
    class MarkdownNotFound(Exception): 
     def __str__(self): 
      return "Uuuugh, why isn't this simple thing working" 
    raise MarkdownNotFound 

All dem allgemeinen Fehler geben:

ImportError: No module named markdown 

(Offensichtlich alle mit leicht geändertem Wortlaut).

Uuuugh, warum funktioniert diese einfache Sache nicht?

Ich habe pip installed Markdown, bis die Kühe nach Hause kommen ... so ist es da. Kann einfach nicht von meinem Django-Projekt gefunden werden.

import datetime 

funktioniert ohne Problem. Gibt es etwas, das mir fehlt, was ganz einfach ist, oder gibt es Alternativen zum Abschriftenmodul in Django, die tatsächlich vom Import funktionieren?

Dies ist die vollständige Rückverfolgung:

Traceback (most recent call last): 
    File "manage.py", line 7, in <module> 
    startup.manage(path=os.path.dirname(os.path.abspath(__file__))) 
    File "/virtualenv/lib/python2.7/site-packages/aldryn_django/startup.py", line 11, in manage 
    utility.execute() 
    File "/virtualenv/lib/python2.7/site-packages/django/core/management/__init__.py", line 328, in execute 
    django.setup() 
    File "/virtualenv/lib/python2.7/site-packages/django/__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/virtualenv/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate 
    app_config.import_models(all_models) 
    File "/virtualenv/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models 
    self.models_module = import_module(models_module_name) 
    File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/app/forum/models.py", line 9, in <module> 
    import markdown 
ImportError: No module named markdown 

Antwort

1

A Divio Cloud Django-Projekt in einem Docker Container läuft, und das Projekt muss in der Lage sein, sich jederzeit neu zu erstellen, wenn erforderlich. Anstatt also einfach ein Paket wie Markdown darin zu installieren, müssen Sie die Anweisungen bereitstellen, damit es beim nächsten Mal, wo es neu erstellt werden muss, Markdown installiert.

Um dies zu tun, ist es in dem requirements.in-Datei des Projektes Liste: (. Wählen Sie die entsprechende Version von Abschlag, natürlich)

markdown==2.6.8 

Der Grund, dass import datetime Werke, die Datetime bereits installiert ist das Projekt.

+0

Hallo Daniele ... nicht ganz sicher, wie das geht. Ich versuche nun, django allauth0.32.0 zu verwenden - ich habe 'allauth == 0.32.0' in meiner requirements.in Datei und dann in settings.py habe ich' INSTALLED_APPS = ('allauth',) '. Ich benutze 'docker-compose run --rm web python manage.py startapp oauth2' und erhalte folgendes:' ImportError: Kein Modul namens allauth' ... –

Verwandte Themen