我正在尝试使用pyinstaller
创建一个可执行文件,以便在没有安装Python的情况下分发给用户。
脚本是一个非常简单的脚本,只是为了测试水,我只使用几行代码作为"豚鼠"。
Hello World
程序 - 没有导入,转换正常。
导入matplotlib.pyplot
并绘制值列表的我的豚鼠计划失败。
这个问题已知并记录在案here,虽然他们声称这是固定的,或者我可能无法正确阅读。
我认为该解决方案应该在" dev版本中提供"应该是3.2.1,而我已通过pip install --upgrade pyinstaller
安装,但无济于事。
我一直得到相同的语法错误,这在读取
时会发生module jinja2\asyncsupport.py
任何想法如何解决这个问题?我的项目非常简单,它只涉及matplotlib
,pandas
,读取文件并绘制一些数据。
答案 0 :(得分:12)
我得到了同样的错误。
原因是Jinja2在2.9版本中为Python3.6添加了新的异步函数。
请参阅http://jinja.pocoo.org/docs/2.9/changelog/#version-2-9-6
有两种方法可以避免此错误。 这两个都适合我。
降级jinja2
# using Anaconda
conda install jinja2=2.8.1
# using pip
pip install jinja2==2.8.1
安装开发版的PyInstaller
# install from github
# Don't run "pip install -U pyinstaller" because the dev version is not released yet
pip install git+https://github.com/pyinstaller/pyinstaller.git
# check if "PyInstaller (3.3.dev0+g483dfde)" is in the list
pip list