设置配置的数据库部分时如何修复“ SyntaxError:无效语法”?

时间:2019-08-27 08:02:32

标签: python mysql erp tryton

我遵循了trytond的Docs,并希望将trytond的数据库设置为现有的mysql数据库,但从未成功。

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

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。

1 个答案:

答案 0 :(得分:0)

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

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

以下是您的配置示例:

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

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

trytond -c

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