2017-04-01 31 views
4

pyinstallerを使用して、Pythonがインストールされていないユーザーに配布する単一の実行可能ファイルを作成しようとしています。Pyinstaller構文エラー:非同期関数内の 'yield'(Python 3.5.1)

このスクリプトは非常に単純なもので、水をテストするために私はちょうど数行のコードを「ギニアの豚」として使用しています。

Hello Worldプログラムは、輸入しないでください。

matplotlib.pyplotをインポートして値リストをプロットするMyギニアピグプログラムは失敗します。

問題は知られていて、hereと書かれていますが、修正されているとはいえ、正しく読めない場合もあります。 私はこの修正が3.2.1でなければならない "dev version"で利用できるはずだと思うし、pip install --upgrade pyinstallerを通してインストールしても役に立たない。

module jinja2\asyncsupport.py 

この問題を回避するにはどのように任意のアイデアを読んだときに起こる、私は同じ構文エラーを取得しておく

、?私のプロジェクトは非常にシンプルで、ちょうどmatplotlibpandasが含まれていて、ファイルを読み込んでデータをプロットしています。

答えて

11

同じエラーが発生しました。

なぜなら、Jinja2はバージョン2.9でPython3.6の新しい非同期関数を追加したからです。

このエラーを回避する方法は2つあります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

関連する問題