如何使Flask默认使用Python 3

问题描述 投票:1回答:1

我正在尝试在Ubuntu 16服务器(Apache2)上部署Flask项目。在这个项目中,我使用的是Python3库。所以我想将Flask设置为在服务器上使用Python 3。但我真的很难受。这是我在做的事情:

sudo apt-get install apache2
sudo apt-get update
sudo apt-get install libapache2-mod-wsgi-py3 # I think that is how you install wsgi for python3
sudo apt-get install python-flask
sudo apt-get upgrade

我的项目conf:/etc/apache2/sites-available/project.conf

<VirtualHost *:80>
    ServerName 52.25.54.241 #my IP
    ServerAdmin [email protected] 
    WSGIScriptAlias / /var/www/FlaskApps/FlaskApps.wsgi
    <Directory /var/www/FlaskApps/project/>
        Order allow,deny
        Allow from all
    </Directory>
    <Directory /var/www/FlaskApps/project/static/>
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

最后:/var/www/FlaskApps/FlaskApps.wsgi

#! /usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/FlaskApps/project/")

# home points to the home.py file
from home import app as application
application.secret_key = "somesecretsessionkey"

注意:当我像这样安装wsgi时:

sudo apt-get install libapache2-mod-wsgi

它工作,但它使用python2。当我安装wsgi 3.它不起作用,它说没有名为flask的模块。那么如何设置flask以默认使用python3?

我读了这个问题:Getting Flask to use Python3 (Apache/mod_wsgi) ,但它没有帮助我。我不清楚,因为他们正在使用virtualenv。

python python-3.x flask mod-wsgi
1个回答
6
投票

将Python 3设置为默认值是我所相信的。

运行which python显示2.7是默认运行ln -sf /usr/bin/python3 /usr/bin/python以使Python 3成为默认值。这是我在全新安装的Ubuntu上设置Flask时总是采取的步骤。

Here's the instructions我为自己创建了每个全新安装的参考资料

© www.soinside.com 2019 - 2024. All rights reserved.