Flask wsgi python Import Error: no module named catalog
Flask wsgi python Import Error: no module named catalog
我一直在按照 DigitalOcean and Flask 的教程设置一个在 ubuntu amazon lightsail 上运行的 flask wsgi python 应用程序,但我收到以下错误:
错误
[Tue Jul 25 16:09:14.573839 2017] [wsgi:error] [pid 19081:tid 140056986322688] [remote 65.102.85.13:26759] from catalog import app as application
[Tue Jul 25 16:09:14.573903 2017] [wsgi:error] [pid 19081:tid 140056986322688] [remote 65.102.85.13:26759] ImportError: No module named catalog
[Tue Jul 25 18:11:00.019707 2017] [wsgi:error] [pid 19082:tid 140056977929984] [client 91.196.50.33:42031] Target WSGI script not found or unable to stat: /var/
这是我当前的文件结构
root@:/var/www/catalog# ls -la
total 24
drwxr-xr-x .
drwxr-xr-x ..
drwxr-xr-x catalog
drwxr-xr-x catalog.egg-info
-rw-r--r-- catalog.wsgi
-rw-r--r-- setup.py
和
root@:/var/www/catalog/catalog# ls -la
total 120
drwxr-xr-x .
drwxr-xr-x ..
-rw-r--r-- 1 client_secrets.json
-rw-r--r-- 1 database_setup.py
-rw-r--r-- 1 fb_client_secrets.json
drwxr-xr-x 8 .git
-rw-r--r-- 1 lotsofmenus.py
-rw-r--r-- 1 lotsofmenususers.py
-rw-r--r-- 1 README.md
-rw-r--r-- 1 restaurant_menu_app.py
-rw-r--r-- 1 restaurantmenu.db
-rw-r--r-- 1 restaurantmenuwithusers.db
drwxr-xr-x 4 static
drwxr-xr-x 2 templates
drwxr-xr-x 6 venv
我的 python.wsgi 文件
导入系统
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0, "/var/www/catalog")
from catalog import app as application
application.secret_key = 'super_secret_key'
我的/etc/apache2/sites-enabled/catalog.config
<VirtualHost *:80>
ServerName 52.34.254.190
ServerAlias ec2-52-34-254-190.us-west-2.compute.amazonaws.com
ServerAdmin admin@52.34.254.190
WSGIDaemonProcess catalog python-path=/var/www/catalog:/var/www/catalog/venv/lib/python2.7/site-packages
WSGIProcessGroup catalog
WSGIScriptAlias / /var/www/catalog/catalog.wsgi
<Directory /var/www/catalog/catalog/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/catalog/catalog/static
<Directory /var/www/catalog/catalog/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我的setup.py文件
from setuptools import setup
setup(
name='catalog',
packages=['catalog'],
include_package_data=True,
install_requires=[
'flask',
],
)
我可以获得我的虚拟环境 运行,但是我的浏览器 IP 仍然出现 500 内部服务器错误。我不明白为什么找不到模块,发生了什么?
通过将主应用程序文件更改为 __init__.py
解决了这个问题
我一直在按照 DigitalOcean and Flask 的教程设置一个在 ubuntu amazon lightsail 上运行的 flask wsgi python 应用程序,但我收到以下错误:
错误
[Tue Jul 25 16:09:14.573839 2017] [wsgi:error] [pid 19081:tid 140056986322688] [remote 65.102.85.13:26759] from catalog import app as application
[Tue Jul 25 16:09:14.573903 2017] [wsgi:error] [pid 19081:tid 140056986322688] [remote 65.102.85.13:26759] ImportError: No module named catalog
[Tue Jul 25 18:11:00.019707 2017] [wsgi:error] [pid 19082:tid 140056977929984] [client 91.196.50.33:42031] Target WSGI script not found or unable to stat: /var/
这是我当前的文件结构
root@:/var/www/catalog# ls -la
total 24
drwxr-xr-x .
drwxr-xr-x ..
drwxr-xr-x catalog
drwxr-xr-x catalog.egg-info
-rw-r--r-- catalog.wsgi
-rw-r--r-- setup.py
和
root@:/var/www/catalog/catalog# ls -la
total 120
drwxr-xr-x .
drwxr-xr-x ..
-rw-r--r-- 1 client_secrets.json
-rw-r--r-- 1 database_setup.py
-rw-r--r-- 1 fb_client_secrets.json
drwxr-xr-x 8 .git
-rw-r--r-- 1 lotsofmenus.py
-rw-r--r-- 1 lotsofmenususers.py
-rw-r--r-- 1 README.md
-rw-r--r-- 1 restaurant_menu_app.py
-rw-r--r-- 1 restaurantmenu.db
-rw-r--r-- 1 restaurantmenuwithusers.db
drwxr-xr-x 4 static
drwxr-xr-x 2 templates
drwxr-xr-x 6 venv
我的 python.wsgi 文件 导入系统
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0, "/var/www/catalog")
from catalog import app as application
application.secret_key = 'super_secret_key'
我的/etc/apache2/sites-enabled/catalog.config
<VirtualHost *:80>
ServerName 52.34.254.190
ServerAlias ec2-52-34-254-190.us-west-2.compute.amazonaws.com
ServerAdmin admin@52.34.254.190
WSGIDaemonProcess catalog python-path=/var/www/catalog:/var/www/catalog/venv/lib/python2.7/site-packages
WSGIProcessGroup catalog
WSGIScriptAlias / /var/www/catalog/catalog.wsgi
<Directory /var/www/catalog/catalog/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/catalog/catalog/static
<Directory /var/www/catalog/catalog/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我的setup.py文件
from setuptools import setup
setup(
name='catalog',
packages=['catalog'],
include_package_data=True,
install_requires=[
'flask',
],
)
我可以获得我的虚拟环境 运行,但是我的浏览器 IP 仍然出现 500 内部服务器错误。我不明白为什么找不到模块,发生了什么?
通过将主应用程序文件更改为 __init__.py