Raspberry Pi django 服务器 ImportError 无法导入名称 'etree'
Raspberry Pi django server ImportError cannot import name 'etree'
我正在尝试在 Raspberry Pi 上设置 Django 项目以在本地网络上为框架提供服务。我已经成功安装了 Django,它是从 apache2 开始的,网络上的所有计算机都可以看到默认的 Django "It worked" 页面。
加载我的应用程序后,我得到的网页有错误: ImportError cannot import name 'etree'
at location /home/pi/Django/Ponude/lib/python3.6/site-packages/docx/opc/oxml.py in <module>, line 12
我已经用 pip 安装了所有必要的模块,这里是 pip freeze 的全部:
Django==2.2.3
lxml==3.6.0
Pillow==6.1.0
python-docx==0.8.10
pytz==2019.1
sqlparse==0.3.0
当我尝试在 shell 中手动导入模块时,导入没有问题,只有在启动 django 时才会出现问题。
我试过卸载和安装所有模块,但没有帮助。
我还搜索了 Stack Overflow,但没有发现任何类似或没有任何帮助。
有人能帮帮我吗?可能与权限或 apache2 配置有关吗?
我希望它有帮助,这是我的 apache2 配置:
<VirtualHost *:80>
ServerName www.example.com
ServerAdmin webmaster@localhost
Alias /static /home/pi/Django/Ponude/Ponude/static
<Directory /home/pi/Django/Ponude/Ponude/static>
Require all granted
</Directory>
<Directory /home/pi/Django/Ponude/Ponude/Ponude>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess Ponude python-path=/home/pi/Django/Ponude/Ponude:/home/pi/Django/Ponude/lib/python3.6/site-packages
WSGIProcessGroup Ponude
WSGIScriptAlias / /home/pi/Django/Ponude/Ponude/Ponude/wsgi.py
</VirtualHost>
谢谢
编辑:另外,当我使用 python manage.py runserver 命令手动启动 Django 时,没有错误
所以... Apache2 运行 在 Python 3.5 上,即使我安装了 3.6 并且 Venv 有 3.6,并且我已明确设置为 3.6 python 路径。
我已经通过在 python 3.5 中创建新的 venv 和 运行 解决了这个问题。
我正在尝试在 Raspberry Pi 上设置 Django 项目以在本地网络上为框架提供服务。我已经成功安装了 Django,它是从 apache2 开始的,网络上的所有计算机都可以看到默认的 Django "It worked" 页面。
加载我的应用程序后,我得到的网页有错误: ImportError cannot import name 'etree'
at location /home/pi/Django/Ponude/lib/python3.6/site-packages/docx/opc/oxml.py in <module>, line 12
我已经用 pip 安装了所有必要的模块,这里是 pip freeze 的全部:
Django==2.2.3
lxml==3.6.0
Pillow==6.1.0
python-docx==0.8.10
pytz==2019.1
sqlparse==0.3.0
当我尝试在 shell 中手动导入模块时,导入没有问题,只有在启动 django 时才会出现问题。 我试过卸载和安装所有模块,但没有帮助。 我还搜索了 Stack Overflow,但没有发现任何类似或没有任何帮助。 有人能帮帮我吗?可能与权限或 apache2 配置有关吗? 我希望它有帮助,这是我的 apache2 配置:
<VirtualHost *:80>
ServerName www.example.com
ServerAdmin webmaster@localhost
Alias /static /home/pi/Django/Ponude/Ponude/static
<Directory /home/pi/Django/Ponude/Ponude/static>
Require all granted
</Directory>
<Directory /home/pi/Django/Ponude/Ponude/Ponude>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess Ponude python-path=/home/pi/Django/Ponude/Ponude:/home/pi/Django/Ponude/lib/python3.6/site-packages
WSGIProcessGroup Ponude
WSGIScriptAlias / /home/pi/Django/Ponude/Ponude/Ponude/wsgi.py
</VirtualHost>
谢谢
编辑:另外,当我使用 python manage.py runserver 命令手动启动 Django 时,没有错误
所以... Apache2 运行 在 Python 3.5 上,即使我安装了 3.6 并且 Venv 有 3.6,并且我已明确设置为 3.6 python 路径。
我已经通过在 python 3.5 中创建新的 venv 和 运行 解决了这个问题。