Python3.6にアップデートしたら、Python2.7で使えてたものが動作しなくなった
Pythonのsympyモジュールのsympy.printing.mathmlを使用しています。
Python3.6で、以下のtest1.pyを実行すると、エラーが起きてしまいます。
test1.py
import sys, json
from sympy import *
from sympy.printing.mathml import mathml
print(mathml(1/6))
test1.pyの実行結果(エラーの内容)
$ python test1.py
Traceback (most recent call last):
File "test1.py", line 5, in <module>
print(mathml("1/6"))
File "/home/vagrant/.pyenv/versions/3.6.7/lib/python3.6/site-packages/sympy/printing/mathml.py", line 1906, in mathml
return MathMLContentPrinter(settings).doprint(expr)
File "/home/vagrant/.pyenv/versions/3.6.7/lib/python3.6/site-packages/sympy/printing/mathml.py", line 68, in doprint
unistr = mathML.toxml()
AttributeError: 'str' object has no attribute 'toxml'
test2.pyのように分数のない単純な状態で実行すると、Python3.6でもエラーは起きません。
test2.py
import sys, json
from sympy import *
from sympy.printing.mathml import mathml
print(mathml(1))
Python2.7を使用していた時には、このようなエラーがありませんでした。Python3.6に切り替えてから起こるようになりました。
分数表記に限らず、全体的にPython3.6ではsympy.printing.mathmlでエラーが起きるようになっている気がします。
何が原因で、どうすればエラーなく実行できるようになりますでしょうか?
Sympyのバージョンは1.4です。
Windows10にVirtualBoxとVagrantをインストールし、Ubuntuの仮想環境を構築して開発しています。Ubuntuのバージョンが14だったのが問題かと思い、16.04.6 LTSにアップデートしてみましたが関係なくエラーが出続けています。