【发布时间】:2019-02-02 10:28:37
【问题描述】:
我在使用 Inkscape 时不断收到错误,这似乎暗示没有满足 python 2 vs 3 的期望,尽管我已经安装了它们。例如,当我尝试从模板生成一个新文档时,我得到,
Traceback (most recent call last):
File "empty_generic.py", line 82, in <module>
c.affect()
File "/usr/share/inkscape/extensions/inkex.py", line 285, in affect
self.output()
File "/usr/share/inkscape/extensions/inkex.py", line 272, in output
self.document.write(sys.stdout)
File "src/lxml/lxml.etree.pyx", line 2033, in lxml.etree._ElementTree.write (src/lxml/lxml.etree.c:63667)
File "src/lxml/serializer.pxi", line 524, in lxml.etree._tofilelike (src/lxml/lxml.etree.c:134877)
File "src/lxml/lxml.etree.pyx", line 324, in lxml.etree._ExceptionContext._raise_if_stored (src/lxml/lxml.etree.c:10737)
File "src/lxml/serializer.pxi", line 441, in lxml.etree._FilelikeWriter.write (src/lxml/lxml.etree.c:133581)
TypeError: write() argument must be str, not bytes
最后一行似乎正是我所说的——通常这个错误是由使用 python 3 解释器运行 python 2 代码引起的,并且可以通过简单地将字符串对象 str 传递为 str.decode() 或其他东西来修复。但是,很明显,编辑 inkscape 源代码并不是一个理想的解决方案。
另外,在尝试生成 Voronoi 图时,我得到了
Traceback (most recent call last):
File "voronoi2svg.py", line 36, in <module>
import simplepath
File "/usr/share/inkscape/extensions/simplepath.py", line 51
raise Exception, 'Invalid path data!'
^
SyntaxError: invalid syntax
这似乎又是一个明显的 2 对 3 错误。
有没有办法改变 Inkscape 使用的 python 解释器?
【问题讨论】: