Import of matplotlib2tikz results in SyntaxError: invalid syntax

Import of matplotlib2tikz results in SyntaxError: invalid syntax

我有一个小的 python 脚本 (python 2.7),我想在其中使用 matplotlib2tikz 来为我的图形生成 tex 文件。

我尝试将模块导入为:

import matplotlib2tikz

当我 运行 脚本时,我立即收到以下错误(导入失败):

```
Traceback (most recent call last):
File "./get_violinplot.py", line 3, in <module>
import matplotlib2tikz
File "/x/.local/lib/python2.7/site- 
packages/matplotlib2tikz/__init__.py", line 16, in <module>
from matplotlib2tikz.save import get_tikz_code, save
File "/x/.local/lib/python2.7/site- 
packages/matplotlib2tikz/save.py", line 238
def save(filepath, *args, encoding=None, **kwargs):
                                 ^
SyntaxError: invalid syntax
```

经过一些快速搜索后,我的印象是这可能与系统中区域设置的设置有关(Ubuntu 16.04 的全新安装)。手动生成它们后,终端中 $locale 命令的输出显示如下:

```
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
```

知道如何解决这个问题吗?

谢谢!

以Python2不支持的方式声明的保存函数的参数。

适用于 Python 3.

Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> def function(filepath, *args, encoding=None, **kwargs):
...   pass
...
>>>

我遇到了同样的问题,因为我正在使用 Python2。但是,我转到源代码并简单地交换了函数保存定义中“*args”和 "encoding=None" 的顺序(save.py 中的第 256 行)。为了我的目的,这解决了问题。