python - Raspberry Pi django 服务器 ImportError 无法导入名称“etree”
问题描述
我正在尝试在 Raspberry Pi 上设置 Django 项目以服务于本地网络上的框架。我已经成功安装了 Django,它从 apache2 开始,网络上的所有计算机都可以看到默认的 Django“它工作”页面。加载我的应用程序后,我得到的网页有错误:ImportError cannot import name 'etree'
在位置/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 路径。
我通过创建新的 venv 并在 python 3.5 中运行所有解决了这个问题。
推荐阅读
- ruby - 如何将 SASS/Compass 放入 DDEV Web 容器?
- json - 为什么 bash 不使用 jq -r bash IFS 显式定义变量来拆分数组
- generics - 如何使用 Class 类型的参数调用方法
在科特林? - azure-functions - Azure QnA maker 无法通过引发 ExtractionFailure 错误代码来创建知识库
- node.js - 如果我已经可以使用 db.query 为什么我需要 app.CRUD
- c++ - 比较两个 C++ 容器时 > 运算符有什么作用?
- twitter-bootstrap-3 - Vuetify 和 Bootstrap 网格冲突仅在本地
- javascript - 来自同步函数的异步函数调用 (Node.js)
- python - 在 Heroku 上使用 Scrapy Selenium 中间件
- php - 如何使用 php 解码 Json 并接收服务器请求