【问题标题】:Pythonanywhere. ImportError: No module named 'crispy_forms'Pythonanywhere。 ImportError:没有名为“crispy_forms”的模块
【发布时间】:2019-02-27 20:28:11
【问题描述】:

我已经在“pythonanywhere”上实现了我的 Django 应用程序,但是当我尝试在日志中加载我的网站时,我看到了以下信息:

2019-02-27 20:20:37,677: Error running WSGI application
2019-02-27 20:20:37,678: ImportError: No module named 'crispy_forms'
2019-02-27 20:20:37,679:   File "/var/www/zen404_pythonanywhere_com_wsgi.py", line 15, in <module>
2019-02-27 20:20:37,679:     application = get_wsgi_application()
2019-02-27 20:20:37,679: 
2019-02-27 20:20:37,679:   File "/home/zen404/.virtualenvs/zen404.pythonanywhere.com/lib/python3.5/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
2019-02-27 20:20:37,679:     django.setup(set_prefix=False)
2019-02-27 20:20:37,684: 
2019-02-27 20:20:37,684:   File "/home/zen404/.virtualenvs/zen404.pythonanywhere.com/lib/python3.5/site-packages/django/__init__.py", line 24, in setup
2019-02-27 20:20:37,684:     apps.populate(settings.INSTALLED_APPS)
2019-02-27 20:20:37,684: 
2019-02-27 20:20:37,684:   File "/home/zen404/.virtualenvs/zen404.pythonanywhere.com/lib/python3.5/site-packages/django/apps/registry.py", line 89, in populate
2019-02-27 20:20:37,685:     app_config = AppConfig.create(entry)
2019-02-27 20:20:37,685: 
2019-02-27 20:20:37,685:   File "/home/zen404/.virtualenvs/zen404.pythonanywhere.com/lib/python3.5/site-packages/django/apps/config.py", line 90, in create
2019-02-27 20:20:37,685:     module = import_module(entry)

当然,我在里面安装了一个虚拟环境和“crispy_forms”。什么会触发此错误?当我在 Bash PythonAnywhere 中运行 python3 manage.py runserver 命令时,服务器正确启动。但在日志中,错误仍然可见,并且页面基本不起作用。

我们将不胜感激。

编辑

2019-02-27 21:55:48,333: Error running WSGI application
2019-02-27 21:55:48,334: ImportError: No module named 'crispy_forms'
2019-02-27 21:55:48,334:   File "/var/www/zen404_pythonanywhere_com_wsgi.py", line 15, in <module>
2019-02-27 21:55:48,334:     application = get_wsgi_application()
2019-02-27 21:55:48,335: 
2019-02-27 21:55:48,335:   File "/home/zen404/.virtualenvs/zen404.pythonanywhere.com/lib/python3.5/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
2019-02-27 21:55:48,335:     django.setup(set_prefix=False)
2019-02-27 21:55:48,335: 
2019-02-27 21:55:48,335:   File "/home/zen404/.virtualenvs/zen404.pythonanywhere.com/lib/python3.5/site-packages/django/__init__.py", line 24, in setup
2019-02-27 21:55:48,335:     apps.populate(settings.INSTALLED_APPS)
2019-02-27 21:55:48,335: 
2019-02-27 21:55:48,336:   File "/home/zen404/.virtualenvs/zen404.pythonanywhere.com/lib/python3.5/site-packages/django/apps/registry.py", line 89, in populate
2019-02-27 21:55:48,336:     app_config = AppConfig.create(entry)
2019-02-27 21:55:48,336: 
2019-02-27 21:55:48,336:   File "/home/zen404/.virtualenvs/zen404.pythonanywhere.com/lib/python3.5/site-packages/django/apps/config.py", line 90, in create
2019-02-27 21:55:48,336:     module = import_module(entry)
2019-02-27 21:55:48,336: ***************************************************
2019-02-27 21:55:48,336: If you're seeing an import error and don't know why,
2019-02-27 21:55:48,336: we have a dedicated help page to help you debug: 
2019-02-27 21:55:48,337: https://help.pythonanywhere.com/pages/DebuggingImportError/
2019-02-27 21:55:48,337: ***************************************************

重击

(zen404.pythonanywhere.com) 21:54 ~ $ which python
/home/zen404/.virtualenvs/zen404.pythonanywhere.com/bin/python
(zen404.pythonanywhere.com) 21:55 ~ $ python -V
Python 3.5.2
(zen404.pythonanywhere.com) 21:55 ~ $ pip3 install --upgrade django-crispy-forms
Looking in links: /usr/share/pip-wheels
Requirement already up-to-date: django-crispy-forms in ./.virtualenvs/zen404.pythonanywhere.com/lib/python3.5/site-packages (1.7.2)
(zen404.pythonanywhere.com) 21:55 ~ $ 

【问题讨论】:

    标签: python django pythonanywhere


    【解决方案1】:

    您确定您在正确的环境中安装了该软件包吗?

    在通过 bash 为您的虚拟环境安装软件包之前,您必须激活它:

    # activate the virtualenv, adapt the path if necessary:
    source /home/zen404/.virtualenvs/zen404.pythonanywhere.com/bin/activate
    # checkout if the python executable is from your virtualenv
    which python
    # THEN install your package - for the activated virtual env
    pip install --upgrade django-crispy-forms
    

    【讨论】:

    • 谢谢你的回答,在我看来一切都很好。我将 BASH 中的信息添加到我的问题中
    • 嗯,看起来不错。也许您必须在仪表板中重新启动服务器。您还可以检查sys.path(可能在 zen404_pythonanywhere_com_wsgi.py 中打印它,不确定它是否以这种方式显示在日志中),因为它包含 python 查找模块的路径。一定有什么不同。
    • 它有助于在 pythonanywhere 中手动刷新(使用按钮)。谢谢!
    猜你喜欢
    • 2016-01-02
    • 2017-02-15
    • 2020-12-21
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 2022-12-13
    • 2013-03-11
    相关资源
    最近更新 更多