How to fix 'SyntaxError: invalid syntax' when setting database section of configuration?

How to fix 'SyntaxError: invalid syntax' when setting database section of configuration?

我按照trytond的Docs想把trytond的数据库设置成已有的mysql数据库,但是一直没成功

是我认为在堆栈溢出上类似但不相同的另一个问题。 执行此命令时出现错误

trytond -c <config_file> -d <database name> --all

我不确定问题是否与安装过程有关,所以下面列出我的安装步骤: 1. 来自tryton的主页 2.执行$ pip install trytond 就这些了。

我添加了一个会话

[database]
uri = mysql://user:pass@localhost:3306/

并更改了默认数据库

self.set('database', 'uri',
                 os.environ.get('TRYTOND_DATABASE_URI', 'sqlite://'))

self.set('database', 'uri',
                 os.environ.get('TRYTOND_DATABASE_URI', 'mysql://user:pass@localhost:3306/'))

根据我的理解,这几行代码用于配置数据库。

这是执行时的结果

Traceback (most recent call last):
  File "/Users/chenxiangjun/anaconda3/envs/env/bin/trytond-admin", line 13, in <module>
    from trytond.config import config
  File "/Users/chenxiangjun/anaconda3/envs/env/lib/python3.6/site-packages/trytond/config.py", line 14
    uri = mysql://user:pass@localhost:3306/
               ^
SyntaxError: invalid syntax

我更改了错误行

[database]
uri = mysql://user:pass@localhost:3306/

[database]
uri = 'mysql://user:pass@localhost:3306/'

我遇到了这个错误

Traceback (most recent call last):
  File "/Users/chenxiangjun/anaconda3/envs/env/bin/trytond-admin", line 13, in <module>
    from trytond.config import config
  File "/Users/chenxiangjun/anaconda3/envs/env/lib/python3.6/site-packages/trytond/config.py", line 13, in <module>
    [database]
NameError: name 'database' is not defined

有大神知道怎么解决这个问题或者有相同经历吗? 这是我第一次设置ERP。

错误是因为您在修改 python 源文件时包含了一些语法错误。您不应修改此文件,而应在您的配置文件中设置值。

默认情况下不创建配置文件,因此您应该手动创建一个。这是一个文本文件,可以放在您计算机上的任何位置,只需确保用户 运行 trytond 有足够的权限阅读它。

这是您的配置示例:

[database]
uri = mysql://user:pass@localhost:3306/

创建此文件后,您应该使用以下命令执行服务器:

trytond -c

顺便说一句:MYSQL 4.8 版后不支持后端,因此如果您使用较新的版本,您应该考虑使用 sqlite 或 Postgresql。