我在ubuntu上安装了两个版本的python-3.7和2.7。当我添加“普通” sites-enabled/000-default.conf
配置时,它正尝试使用python2.7,因此找不到安装的应用程序:
WSGIScriptAlias / home/david/data-py/wsgi.py
<VirtualHost *:80>
<Directory /home/david/data-py>
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
ImportError:没有名为django.core.wsgi的模块
但是,如果我指定我的项目的python路径(该路径是使用$ virtualenv .
创建的,则我使用以下命令启动文件:
WSGIScriptAlias / home/david/data-py/wsgi.py
WSGIPythonHome /home/david/data-py
然后我得到另一个错误:
ImportError:没有名为站点的模块
这是什么意思,如何将项目安装在apache / wsgi中?
答案 0 :(得分:0)
我只是遇到了完全相同的问题,结果发现我在服务器上安装了错误版本的mod_wsgi(我用的是python 2而不是python 3)。如果查看存储在apache error.log文件(在我的情况下为/var/log/apache2/error.log)中的回溯,您可以看到apache试图使用的版本。我在Ubuntu上解决了以下问题: / p>
sudo apt-get remove libapache2-mod-python libapache2-mod-wsgi
sudo apt-get install libapache2-mod-wsgi-py3
sudo service apache2 restart
我还确保将mod_wsgi软件包安装到我的虚拟环境中(我不确定这是否必要)。为此,我执行了以下操作:
cd <path to my virtual env bin folder>
sudo ./pip3 install mod_wsgi-httpd
sudo ./pip3 install mod-wsgi
答案 1 :(得分:0)
大约一个月前,我也遇到了同样的问题(由python2 vs python3引起)。 这是我的建议: