Python 3.x 目标WSGI脚本'/var/www/kmj/app.wsgi';无法作为Python模块加载
flask应用程序在没有Apache的情况下运行良好,但当我使用app.py上的'import scenedetect'在Apache flask环境中部署应用程序时,Apache日志显示:Python 3.x 目标WSGI脚本'/var/www/kmj/app.wsgi';无法作为Python模块加载,python-3.x,apache,flask,Python 3.x,Apache,Flask,flask应用程序在没有Apache的情况下运行良好,但当我使用app.py上的'import scenedetect'在Apache flask环境中部署应用程序时,Apache日志显示: 113 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] mod_wsgi (pid=16590): **Target WSGI script '/var/www/kmj/app.wsgi' cannot be loaded as Python mo
113 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] mod_wsgi (pid=16590): **Target WSGI script '/var/www/kmj/app.wsgi' cannot be loaded as Python module.**
114 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] mod_wsgi (pid=16590): Exception occurred processing WSGI script '/var/www/kmj/app.wsgi'.
115 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] Traceback (most recent call last):
116 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] File "/var/www/kmj/app.wsgi", line 4, in <module>
117 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] from app import app as application
118 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] File "/var/www/kmj/app.py", line 5, in <module>
119 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] from scenedetect import VideoManager
120 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] File "/home/kmj/anaconda3/envs/smartFashion/lib/python3.7/site-packages/scenedetect/__init__
.py", line 41, in <module>
121 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] from scenedetect.scene_manager import SceneManager
122 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] File "/home/kmj/anaconda3/envs/smartFashion/lib/python3.7/site-packages/scenedetect/scene_manager.py", line 57, in <module>
123 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] import cv2
124 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] File "/home/kmj/anaconda3/envs/smartFashion/lib/python3.7/site-packages/cv2/__init__.py", line 5, in <module>
125 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] from .cv2 import *
126 [wsgi:error] [pid 16590] [remote 58.229.209.118:2042] ModuleNotFoundError: **No module named 'cv2.cv2'**
已安装的mod_wsgi
$ dpkg -l | grep wsgi
ii libapache2-mod-wsgi-py3 4.5.17-1ubuntu1 amd64 Python 3 WSGI adapter module for Apache
$ sudo a2enmod wsgi
import sys
sys.path.insert(0, "/var/www/smartfashion.com")
sys.path.append("/home/kmj/anaconda3/envs/smartFashion/lib/python3.7/site-packages/")
from app import app as application
ls-al/var/www/| grep smartfashion
drwxrwxr-x 5 kmj www-data 4096 4월 29 10:12 smartfashion.com
/etc/apache2/site available/smartfashion.com.conf
<VirtualHost *:80>
ServerAdmin admin@smartfashion.com
ServerName smartfashion.com
DocumentRoot /var/www/smartfashion.com
DirectoryIndex index.html
<IfModule mod_wsgi.c>
WSGIDaemonProcess smartfashion user=kmj group=www-data threads=5 python-path=/home/kmj/anaconda3/envs/smartFashion/lib/python3.7/site-packages/
WSGIScriptAlias / /var/www/smartfashion.com/app.wsgi
WSGIScriptReloading On
</IfModule>
<Directory /var/www/smartfashion.com >
WSGIProcessGroup smartfashion
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
<Directory /home/kmj/anaconda3/envs/smartFashion/lib/python3.7/site-packages>
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/smartfashion.com-error.log
CustomLog ${APACHE_LOG_DIR}/smartfashion.com-access.log combined
</VirtualHost>
我试过:
- 重新创建conda虚拟环境
- 重新安装opencv python和secenedetect
- 检查文件所有者
import sys
sys.path.insert(0, "/var/www/smartfashion.com")
sys.path.append("/home/kmj/anaconda3/envs/smartFashion/lib/python3.7/site-packages/")
from app import app as application