【问题标题】:Django CMS - ImportError: No module named markdownDjango CMS - ImportError:没有名为markdown的模块
【发布时间】:2017-10-12 18:08:35
【问题描述】:

我希望这是一个相当简单的问题 - 但由于我使用的是 Divio Django cms 服务这一事实可能会变得更加复杂。

我正在为所有关心这些事情的蛋头们使用 Python 2.7.11 和 Django 1.11.1。

基本上我的应用找不到 Markdown 包:

import markdown

from markdown import markdown

from markdown import *

甚至(这越来越花哨)

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

都会给出一般错误:

ImportError: No module named markdown

(显然,所有的措辞都略有不同)。

Uuuugh,为什么这个简单的事情不起作用?

我已经 pip installed 降价,直到奶牛回家......所以它就在那里。我的 Django 项目只是找不到。

import datetime

没有问题。我是否缺少一些非常简单的东西,或者如果没有,是否有任何替代 Django 中的 markdown 模块的替代品,实际上可以从导入中工作?

这是完整的回溯:

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

【问题讨论】:

    标签: python django markdown divio


    【解决方案1】:

    Divio Cloud Django 项目在 Docker 容器中运行,并且该项目必须能够在需要时随时重新创建自己。因此,与其简单地在其中安装 Markdown 之类的包,您还必须提供说明,以便它知道在下次必须重建时安装 Markdown。

    为此,请将其列在项目的requirements.in 文件中:

    markdown==2.6.8
    

    (当然要选择合适的markdown版本。)

    import datetime 起作用的原因是项目中已经安装了 datetime。

    【讨论】:

    • 嗨 Daniele...不完全确定这是如何工作的。我现在正在尝试使用 django allauth0.32.0 - 我的 requirements.in 文件中有allauth==0.32.0,然后在 settings.py 中有INSTALLED_APPS = ( 'allauth', )。我正在运行 docker-compose run --rm web python manage.py startapp oauth2 并收到以下信息:ImportError: No module named allauth ...
    猜你喜欢
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 2021-01-28
    • 2020-09-07
    • 2018-02-05
    • 2015-07-20
    • 2018-07-28
    • 2023-03-27
    相关资源
    最近更新 更多