2017-04-01 1 views
4

pyinstaller을 사용하여 Python을 설치하지 않은 사용자에게 배포 할 수있는 단일 실행 파일을 만들려고합니다.Pyinstaller 구문 오류 : 비동기 함수 ('파이썬 3.5.1')에서 'yield'

스크립트는 매우 간단하며 물을 테스트하기 위해 몇 줄의 코드 만 "기니 돼지"로 사용하고 있습니다.

Hello World 프로그램은 수입품이 아닙니다.

matplotlib.pyplot을 가져 와서 값 목록을 표시하는 내 기니 돼지 프로그램이 실패합니다.

문제가 알려져 있고 문서화되어 있습니다 (here). 문제가 해결되었거나 올바르게 읽지 못할 수도 있습니다. 나는 3.2.1이되어야하는 "dev version"에서 픽스를 사용할 수 있어야한다고 생각하며, pip install --upgrade pyinstaller을 통해 설치했다.

module jinja2\asyncsupport.py 

이 문제를 해결하는 방법을 어떤 생각을 읽을 때 발생 나도 같은 구문 오류가 계속

? 내 프로젝트는 매우 단순하며 단지 matplotlib, pandas을 포함하고 파일을 읽고 일부 데이터를 플로팅합니다.

답변

11

동일한 오류가 발생했습니다.

이유는 Jinja2가 버전 2.9에서 Python3.6에 대한 새로운 비동기 함수를 추가했기 때문입니다.

http://jinja.pocoo.org/docs/2.9/changelog/#version-2-9-6

이 오류를 방지하는 방법은 두 가지가 있습니다 참조하십시오. 두 가지 모두 나를 위해 일했습니다.

  1. 다운 그레이드 jinja2

    # using Anaconda 
        conda install jinja2=2.8.1 
    
        # using pip 
        pip install jinja2==2.8.1 
    
  2. 감사 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 
    
+0

dev에 버전을 설치합니다! 옵션 1은 원활하게 작동했습니다. 나는 옵션 2를 이미 독자적으로 시도했지만'git'을 설치하지 않았기 때문에 실패했습니다. –

+0

옵션 1도 나를 위해 일했습니다. 고맙습니다! – William