【问题标题】:mod_wsgi: ImportError: No module named 'encodings' deploying django appmod_wsgi:ImportError:没有名为“encodings”的模块正在部署 django 应用程序
【发布时间】:2023-04-08 06:47:01
【问题描述】:

我已在此处查找此错误的答案:mod_wsgi: ImportError: No module named 'encodings'

而且似乎由于未设置权限而出现此错误。但在我看来,所有权限都设置正确

这是我的文件结构:

home
└── user
    └── projects
        └── myapp
            ├── app
            │   ├── <All Code for Webapp including static dir>  
            ├── env (virtualenv)
            ├── manage.py
            ├── new
            │   ├── settings.py
            │   ├── urls.py
            │   └── wsgi.py
            └── requirements.txt

这是我位于 /etc/httpd/conf.d 中的 wsgi.conf 文件

Alias /static /home/user/projects/myapp/app/static
<Directory /home/user/projects/myapp/app/static>
    Require all granted
</Directory>

<Directory /home/user/projects/myapp/new>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

WSGIDaemonProcess myapp python-path=/home/user/projects/myapp python-home=/home/user/projects/,myapp/env/lib/python3.6/site-packages user=<user>
WSGIProcessGroup myapp
WSGIScriptAlias / /home/user/projects/myapp/new/wsgi.py

下面是当我在我的主目录中时权限所说的内容:

/家

$ ls -l 
total 0
drwxrwxr-x. 5 <user> <group> 41 Mar  7 14:53 project

这个权限对项目来说是一样的,现在我获取myapp目录时的权限如下:

/home/user/myapp

drwxrwxr-x. 7 <user> <group> 4096 Mar  7 13:18 app
drwxrwxr-x. 5 <user> <group>   56 Mar  7 14:42 env
-rwxrwxr-x. 1 <user> <group>  535 Mar  5 13:33 manage.py
drwxrwxr-x. 3 <user> <group>  110 Mar  7 14:27 new
-rw-rw-r--. 1 <user> <group>  869 Mar  7 14:42 requirements.txt

wsgi.py文件所在的权限(new下)是:

/home/user/myapp/new

-rw-rw-r--. 1 <user> <group>    0 Mar  5 13:33 debug.log
-rw-rw-r--. 1 <user> <group>    0 Mar  5 13:33 __init__.py
drwxrwxr-x. 2 <user> <group>  122 Mar  9 03:00 __pycache__
-rw-rw-r--. 1 <user> <group> 5442 Mar  8 10:17 settings.py
-rw-rw-r--. 1 <user> <group>  790 Mar  5 13:33 urls.py
-rw-rw-r--. 1 <user> <group>  383 Mar  5 13:33 wsgi.py

在使用 apache 运行 mod_wsgi 时,这些权限是否正确?

注意:上面的用户和组是一样的,都是我的名字

【问题讨论】:

    标签: django apache mod-wsgi


    【解决方案1】:

    检查用于配置 mod_wsgi 的 python 版本和你的项目编译的版本 (virtual env),当它们不同时我得到了这个错误。

    【讨论】:

      猜你喜欢
      • 2019-04-24
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 2014-08-21
      • 2017-11-09
      相关资源
      最近更新 更多