Flask 和 Apache2:没有名为 app 的模块
Flask and Apache2: No module named app
我正在尝试通过 Apache2 部署 Flask 应用程序,但出现 No module named app
错误。我也在使用 virtualenv
planer(Flask 应用程序)
(venv)jdoe@jdoe-virtual-machine:/var/www/planer$ la
app.py forms.py .git helpers.py __init__.py main.pyc models.pyc README.md setup.cfg templates views.py
app.pyc forms.pyc .gitignore helpers.pyc main.py models.py planer.wsgi requirements.txt static venv views.pyc
planer.conf
<VirtualHost *:80>
ServerName planer.dev
ServerAdmin admin@mywebsite.com
WSGIScriptAlias / /var/www/planer/planer.wsgi
<Directory /var/www/planer/planer/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/planer/static
<Directory /var/www/planer/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
planer.wsgi
import sys, os
sys.path.insert (0,'/var/www/planer')
sys.path = [
'/var/www/planer/venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
]
activate_this = '/var/www/planer/venv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
import app as application
错误
[Wed Jan 06 09:45:29.781102 2016] [:error] [pid 20727] [client 127.0.0.1:42448] mod_wsgi (pid=20727): Target WSGI script '/var/www/planer/planer.wsgi' cannot be loaded as Python module.
[Wed Jan 06 09:45:29.781137 2016] [:error] [pid 20727] [client 127.0.0.1:42448] mod_wsgi (pid=20727): Exception occurred processing WSGI script '/var/www/planer/planer.wsgi'.
[Wed Jan 06 09:45:29.781208 2016] [:error] [pid 20727] [client 127.0.0.1:42448] Traceback (most recent call last):
[Wed Jan 06 09:45:29.781235 2016] [:error] [pid 20727] [client 127.0.0.1:42448] File "/var/www/planer/planer.wsgi", line 12, in <module>
[Wed Jan 06 09:45:29.781302 2016] [:error] [pid 20727] [client 127.0.0.1:42448] import app as application
[Wed Jan 06 09:45:29.781327 2016] [:error] [pid 20727] [client 127.0.0.1:42448] ImportError: No module named app
确保 .wsgi 文件可执行:
sudo chmod a+x planer.wsgi
并尝试用这个加载它:
python /absolute/path/to/planer.wsgi
我正在尝试通过 Apache2 部署 Flask 应用程序,但出现 No module named app
错误。我也在使用 virtualenv
planer(Flask 应用程序)
(venv)jdoe@jdoe-virtual-machine:/var/www/planer$ la
app.py forms.py .git helpers.py __init__.py main.pyc models.pyc README.md setup.cfg templates views.py
app.pyc forms.pyc .gitignore helpers.pyc main.py models.py planer.wsgi requirements.txt static venv views.pyc
planer.conf
<VirtualHost *:80>
ServerName planer.dev
ServerAdmin admin@mywebsite.com
WSGIScriptAlias / /var/www/planer/planer.wsgi
<Directory /var/www/planer/planer/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/planer/static
<Directory /var/www/planer/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
planer.wsgi
import sys, os
sys.path.insert (0,'/var/www/planer')
sys.path = [
'/var/www/planer/venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
]
activate_this = '/var/www/planer/venv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
import app as application
错误
[Wed Jan 06 09:45:29.781102 2016] [:error] [pid 20727] [client 127.0.0.1:42448] mod_wsgi (pid=20727): Target WSGI script '/var/www/planer/planer.wsgi' cannot be loaded as Python module.
[Wed Jan 06 09:45:29.781137 2016] [:error] [pid 20727] [client 127.0.0.1:42448] mod_wsgi (pid=20727): Exception occurred processing WSGI script '/var/www/planer/planer.wsgi'.
[Wed Jan 06 09:45:29.781208 2016] [:error] [pid 20727] [client 127.0.0.1:42448] Traceback (most recent call last):
[Wed Jan 06 09:45:29.781235 2016] [:error] [pid 20727] [client 127.0.0.1:42448] File "/var/www/planer/planer.wsgi", line 12, in <module>
[Wed Jan 06 09:45:29.781302 2016] [:error] [pid 20727] [client 127.0.0.1:42448] import app as application
[Wed Jan 06 09:45:29.781327 2016] [:error] [pid 20727] [client 127.0.0.1:42448] ImportError: No module named app
确保 .wsgi 文件可执行:
sudo chmod a+x planer.wsgi
并尝试用这个加载它:
python /absolute/path/to/planer.wsgi