我有一个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
。