配置Pycharm调试Odoo 8

4
我已经安装了PyCharm社区版2016。
我尝试按照截图中的说明配置它以调试Odoo。

enter image description here

当我打开一个Python文件,设置断点并点击调试图标时,我遇到了一个异常:

enter image description here

同时,openerp、fields和api被用红色下划线标出。

请问有什么建议吗?我的操作系统是Windows 8.1。

更新:

根据Mariusz的回答,我现在能够点击调试按钮而没有任何错误。

现在我已经在一段代码上设置了断点以跟踪执行过程,但是断点从未被触发(该代码位于一个按钮方法中),尽管该方法已经被执行。我可以在odoo页面上看到结果。

enter image description here

2个回答

1

第一个问题 - 您不应该从exe文件运行它,而是应该通过python解释器在odoo安装文件夹中找到openerp-server来运行。此外,您的配置是错误的,因为Odoo不支持Python 3.4.1。 我的配置如下: enter image description here 第二个问题 - 您需要在项目结构配置中添加源文件夹,以便PyCharm将其识别为可导入的文件夹。


你的意思是Odoo不支持Python 3.4.1吗?;-) - CZoellner
嗨@Mizgier,我在Odoo安装中没有Openerp-server,而是使用了server。在脚本中,我添加了C:\Program Files(x86)\Odoo 8.0-20150408\server。此外,我已经在项目结构中有源文件夹。现在我点击调试,但出现了权限被拒绝的错误。Pycharm正在以管理员角色运行。 - Oumar Diarra
@CZoellner 是的,我的意思是它不能在3.4.1上运行。 OumarDiarra 你必须从https://github.com/odoo/odoo下载源代码,通过PyCharm运行Odoo,而不是使用all-in-one包才能使其正常工作。 - Mariusz Mizgier
谢谢@MariuszMizgier。现在我没有任何错误了。但似乎我无法达到断点。我已经更新了我的问题。再次感谢。 - Oumar Diarra

0
为了能够到达断点,您必须禁用gevent。在撰写本文时,您可以通过注释openerp/__init__.py中的此代码片段来实现。
import sys
evented = False
#if sys.modules.get("gevent") is not None:
#    evented = True

禁用了但仍未达到。 - Oumar Diarra
@OumarDiarra 听起来很奇怪... 你能确认你正在尝试调试的代码是可达的吗?(例如在你设置断点的地方后面放置一个日志)。 - vsminkov
是的,它是可达的。我在断点后添加了一个打印语句,我能够在Windows提示命令中看到它。 - Oumar Diarra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接