gpt4 book ai didi

python - Django Apache 2 ModuleNotFoundError : No module named 'django'

转载 作者:行者123 更新时间:2023-12-04 19:29:00 25 4
gpt4 key购买 nike

我正在尝试在 apache2 上部署我的 django 应用程序,我在 AWS ec2 ubuntu 实例上。最初我收到一个致命的 Python 错误:Py_Initialize: Unable to get the locale encoding,所以我通过删除我的环境并在 3.6 上启动一个新的虚拟环境,将我的 python 从 2.7 切换到 3.6,我还从我的实例中清除了 python 2.7 和 3.7。之后,我的 apache 中有一个名为“Django 错误”的模块。任何帮助都受到了赞赏,因为这个:)。

<VirtualHost *:80>
ServerAdmin webmaster@example.com
DocumentRoot /home/ubuntu/pydjangoenv/myproj
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /static /home/ubuntu/pydjangoenv/myproj/static
<Directory /home/ubuntu/pydjangoenv/myproj/static>
Require all granted
</Directory>
<Directory /home/ubuntu/pydjangoenv/myproj/myproj>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myproj python-path=/home/ubuntu/pydjangoenv/myproj python-home=/home/ubuntu/pydjangoenv/venv2

WSGIScriptAlias / /home/ubuntu/pydjangoenv/myproj/myproj/wsgi.py
</VirtualHost>

另外,当我运行 pip3 install django 我的 django 在
已满足要求:/home/ubuntu/pydjangoenv/venv2/lib/python3.6/site-packages (3.2.5) 中的 django

最佳答案

一旦你配置了你的 EC2 实例,我会假设你想要在这个服务器中使用后端和前端,通过 shell 访问实例.然后运行:
要从 Ubuntu 更新软件包:

sudo apt-get update
安装 Python:
sudo apt-get install python3.6
安装 pip和:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
然后需要安装虚拟环境,可以使用 virtualenv :
pip install virtualenv
创建一个虚拟环境:
virtualenv mynewvenv
然后进入venv:
source mynewvnev/bin/activate
进入 vnev 后,运行以下命令安装 Django:
pip install django
然后我建议将您的 Django 项目上传到 GitHub 或 GitLab,然后克隆该存储库。
更新您的 settings.py 非常重要,尤其是 ALLOWED_HOSTS如果您使用自定义域重定向:
ALLOWED_HOSTS = ['yourdomain.com',
'www.yourdomain.com',]
如果您使用默认 sqlite3 运行数据库,如果需要,更新您的数据库访问也非常重要。只需确保数据库名称、用户和密码与您的实际信息匹配。
如果上述操作正确,请尝试更新 WSGI您的 Apache config 上的部分文件看起来像这样:
WSGIPassAuthorization On
WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIDaemonProcess yourapp python-home=/usr/local/venvs/yourapp
WSGIProcessGroup DjangoMainAppName
错误很可能在这一行:
WSGIDaemonProcess delta_new python-path=/home/ubuntu/pydjangoenv/myproj python-home=/home/ubuntu/pydjangoenv/venv2
尝试更改为:
WSGIDaemonProcess delta_new python-path=/home/ubuntu/pydjangoenv/myproj python-home=/home/ubuntu/pydjangoenv/venv2/lib/python3.6/site-packages
使用准确的 Python 版本。
您可以阅读如何正确配置 config Django 应用程序的文件,具有单个应用程序的守护程序模式 here .

关于python - Django Apache 2 ModuleNotFoundError : No module named 'django' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68505114/

25 4 0