在 MacBook M1 芯片的 Odor 17 项目上安装 lxml 时出现错误。 首先,在安装requirements.txt时,出现错误。所以我注释掉了requirements.txt文件中的一些行。
...
#greenlet==1.1.2 ; python_version == '3.10' # (Jammy)
#greenlet==2.0.2 ; python_version > '3.10'
...
#lxml==4.8.0 ; python_version <= '3.10'
#lxml==4.9.2 ; python_version > '3.10'
...
#reportlab==3.6.8 ; python_version <= '3.10'
#reportlab==3.6.12 ; python_version > '3.10'
...
安装所有软件包后,我尝试手动安装这些软件包。
我能够安装 greenlet 和 reportlab 软件包,但不能安装 lxml 软件包。
经过几次Google搜索,我找到了这个链接:https://www.odoo.com/forum/help-1/odoo-17-install-bug-attributeerror-module-lxml-html-clean-has-no -属性-defs-249918
根据此链接,问题是由于 lxml 版本造成的。 所以我尝试安装lxml 4.8.0版本(pip3 install lxml==4.8.0)。但我收到另一个错误。然后我 ron pip3 install lxml 并安装了 lxml 5.2.1。
当运行Odoo项目我的PyCharm时,出现这个错误:
Traceback (most recent call last):
File "/Users/youstra/odoo-server/odoo-bin", line 5, in <module>
import odoo
File "/Users/youstra/odoo-server/odoo/__init__.py", line 134, in <module>
from . import modules
File "/Users/youstra/odoo-server/odoo/modules/__init__.py", line 8, in <module>
from . import db, graph, loading, migration, module, registry, neutralize
File "/Users/youstra/odoo-server/odoo/modules/graph.py", line 11, in <module>
import odoo.tools as tools
File "/Users/youstra/odoo-server/odoo/tools/__init__.py", line 24, in <module>
from .mail import *
File "/Users/youstra/odoo-server/odoo/tools/mail.py", line 19, in <module>
from lxml.html import clean
File "/Users/youstra/odoo-server/venv/lib/python3.12/site-packages/lxml/html/clean.py", line 18, in <module>
raise ImportError(
ImportError: lxml.html.clean module is now a separate project lxml_html_clean.
Install lxml[html_clean] or lxml_html_clean directly.
当我尝试 pip3 install lxml[html_clean] 命令时,我进入命令提示符 zsh:未找到匹配项:lxml[html_clean]。
所以我尝试安装lxml_html_clean并且安装成功完成。
但是安装完成后,我尝试运行 Odoo 项目,但出现此错误:
Traceback (most recent call last):
File "/Users/youstra/odoo-server/odoo-bin", line 5, in <module>
import odoo
File "/Users/youstra/odoo-server/odoo/__init__.py", line 134, in <module>
from . import modules
File "/Users/youstra/odoo-server/odoo/modules/__init__.py", line 8, in <module>
from . import db, graph, loading, migration, module, registry, neutralize
File "/Users/youstra/odoo-server/odoo/modules/graph.py", line 11, in <module>
import odoo.tools as tools
File "/Users/youstra/odoo-server/odoo/tools/__init__.py", line 24, in <module>
from .mail import *
File "/Users/youstra/odoo-server/odoo/tools/mail.py", line 32, in <module>
safe_attrs = clean.defs.safe_attrs | frozenset(
^^^^^^^^^^
AttributeError: module 'lxml.html.clean' has no attribute 'defs'
我不知道我能做些什么来解决这个问题。
我是一名新的 Odoo 和 Python 开发人员。
非常感谢
太棒了!
问题出在 python 版本上。我切换到python 3.10版本,问题解决了