首页 > 解决方案 > 使用 python 3.7 版在生产环境中启动 django

问题描述

在生产中,我使用的是Django 2.1 + Nginx + uWSGI。现在,我打算迁移到Django 3。Django 3 需要 python 版本 3.6+,但我当前的 python 版本是 3.5。我已经从源代码在我的开发服务器上安装了 python 3.7,make altinstall所以在开发服务器上我可以运行它python37 manage.py runserver,但是在生产服务器上如何将 python 版本定义为 3.7 来启动服务器?这是我的 uwsgi.ini

#mysite_uwsgi.ini
[uwsgi]    
chdir           = /var/www/dostavka    
module          = dostavka.wsgi       
master          = true    
processes       = 10    
socket          = /var/www/dostavka/dostavka.sock    
chmod-socket    = 666    
vacuum          = true

然后我使用命令运行它

uwsgi --ini /var/www/dostavka/mysite_uwsgi.ini --daemonize /var/www/uwsgi.log --uid www-data --gid www-data

我没有在生产中使用 virtualenv。

标签: djangopython-3.x

解决方案


所以,我已经解决了这个问题。在生产服务器上运行 python 3.7 之后,我使用andmake altnstall重新安装了uWSGIDjango。之后uWSGI开始使用新的 python 版本 3.7。此外,如果您有任何其他应用程序连接到django,则需要使用.pip3.7 install uwsgipip3.7 intall djangopip3.7 intall xxxx


推荐阅读