我在本地机器和服务器上安装了python 2.7和3.4。还安装了Odoo 10。和同一台计算机上的 11.0。我为 Odoo 10 和 11 创建了模块,并成功执行。但是当我将Odoo 11代码上传到服务器时出现错误。
例如,我键入的打印语句在Odoo 10和11.0中都print'Test Print'
。它在本地计算机上没有任何错误。但是在服务器上出现错误。
我检查了两台机器上的版本,输出是:
python -V
Python 2.7.12
python3 -V
Python 3.5.2
如何告诉Odoo在编译代码时选择正确的python版本?
首先,让我明确指出 python2 和 3 使用不同的语法进行打印 在 Python2 中,print 被视为语句 所以你可以写print "Test Print"
但在 Python3 中,打印被认为是函数,所以你必须写
print("Test Print")
您可以启动Odoo服务器对于 Odoo 10:
python2 odoo-bin
对于 Odoo 11:
python3 odoo-bin
在 odoo11 中: 打印("测试打印"(
在 odoo10 中: 打印"测试打印">
要运行odoo10或odoo11,您必须清除浏览器历史记录或在专用窗口上运行。
因为浏览器有odoo 10或11现有的历史记录。