首页 > 解决方案 > PythonAnywhere 上的 Django 部署

问题描述

我最近想将我的一个 web 应用程序部署到 PythonAnywhere,但是我遇到了一些问题。

  1. 如果我将 webapp 部署在 virtualenv 中。我无法在 virtualenv 中安装一些关键包(尤其是 Pandas)。控制台将显示超出磁盘配额。

  2. 现在我正在尝试在基本环境中部署 webapp(我将 PythonAnywhere Web 选项卡中的 Virtualenv 部分留为空白),但页面显示错误,并且在检查日志后,它显示modulenotfound error。但我确信该模块已安装在该环境中。顺便说一句,这两个环境都在 Python 3.8 下运行

页面错误 ModuleNotFoundError

我的问题是:

  1. 谁能告诉我如何减少安装某些大型软件包(如熊猫)所需的存储空间,或者我如何清理更多空间(或任何其他可行的解决方案)

  2. 我可以在基础环境下部署 webapp 吗?如果是,上面显示的错误的根本原因是什么以及解决方法。在这里,我提供了我的 webapp 的一些配置。

import os
import sys

path = '/home/myusername/my_project_folder'
if path not in sys.path:
    sys.path.append(path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'my_project.settings'

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
ALLOWED_HOSTS = ['myusername.pythonanywhere.com']

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'home.apps.HomeConfig',
    'django_plotly_dash.apps.DjangoPlotlyDashConfig',
    'channels',
    'channels_redis'
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django_plotly_dash.middleware.BaseMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware',
]

WSGI_APPLICATION = 'my_project_name.wsgi.application'

该应用程序能够 manage.py runserver 但网页显示错误

请从这里寻求解决方案!提前致谢!

标签: djangoweb-deploymentplotly-dashpythonanywhere

解决方案


推荐阅读