Django 应用程序在移动到应用程序服务器时不起作用



我有一个Django应用程序,在我的开发机器上运行良好。但是,当移动到应用服务器上的其他位置进行托管时,它不起作用。 错误

django.core.exceptions.Improperly Configuration: 'django-pyodbc-azure' 不是一个可用的数据库后端。 尝试使用"django.db.backends.XXX",其中 XXX 是以下之一: 'MySQL', 'Oracle', 'PostgreSQL', 'SQLE3'

当我在命令提示符下运行 pip freeze 命令时,它甚至没有显示已安装的 pyodbc 和其他库。它显示的只是Django 2.1,Django ms-sql和pytz。我无法使用 pip install(生产服务器。无连接(。

我将项目从开发机器移动到生产机器的方法是压缩文件夹,复制它,然后解压缩它。复制是问题吗?我在这里错过了什么。

任何帮助,不胜感激。

如果你不能在生产服务器上pip install,你如何将你的WSGI运行器(Apache mod_wsgi,gunicorn或uwsgi(指向venv

你可以做的是将venv作为 Django 项目的一部分。这就做了一个很大的假设:您的开发和生产环境是兼容的。pyodbc已编译,因此要使二进制文件正常工作,您的环境必须非常相似。如果是这种情况,下面是一个示例:

cd my_django_project
python -m venv venv
. venv/bin/activate
pip install -r requirements/prod.txt
cd ..
tar -czvf my_django_project.tar.gz my_django_project 

然后将其复制到目标服务器,然后:

cd /var/django
tar -xzvf ~/my_django_project.tar.gz

然后调整您的生产 WSGI 运行器以将其 Python 路径指向/var/django/my_django_project/venv

相关内容

最新更新