.pyファイルをexeに変換しようとしています。私のファイルhello.pyは次のようになります:
print "Hello, World!"
私は現在pyinstallerを使用しようとしています。ただし、コマンドを実行すると
pyinstaller hello.py
「Tuple index out of range」というエラーメッセージが表示されますが、これは私のバージョンのpythonがサポートされていないことを意味します。特に、pyinstallerがコンパイルしようとしていると思われる状況であると思われます。 python 3.6コードをexeに挿入します。ただし、python 2.7およびpython 3.6がインストールされています。どのように通知すればよいですか。コードをpython 2.7 code?
Pythonを使用:
PyInstaller
がPython 3.xにインストールされていることを確認してください:pip3 freeze
PyInstaller == 3.3.1
次に、コマンドを実行します。
/path/to/python3 -m PyInstaller your_script.py
python 2.x
の下のパスにpython2
があるとすると、次のことができます
python2 -m pyinstaller hello.py
アプリケーションを1つのOS内にバンドルする必要があるが、Pythonおよびサポートライブラリのバージョンが異なる場合-たとえば、Python 3バージョンとa Python 2.7バージョン、またはQt4を使用するサポートバージョンとQt5を使用する開発バージョン– virtualenvの使用をお勧めします。virtualenvを使用すると、Pythonとインストールされたパッケージ、およびある組み合わせから別の組み合わせに簡単に切り替えます(Python 3.4以降でのみ作業する場合、python3 -m venvは同じ仕事をします。モジュールvenvを参照してください)。
私は2つ2つ実行しました。 python3をアンインストールすると、python2で動作します。 python3がインストールされていて(それがプライマリである)、pyinstallerがpython3にインストールされている場合、動作しません(python3 pyinstallerが使用されます)。 python3がインストールされているが、python3にインストールされていない、またはアンインストールされていない場合(pip3 uninstall pyinstaller)、pyinstallerは機能します。
環境変数のチェック(Windows 10)PATHでは、最初にpython3がありました。これは問題である可能性があり、最初にpython3ディレクトリをチェックしてpython3のpyinstallerを取得するため、解決されない可能性があります。 pyinstallerはファイルもチェックしません(#!/ usr/env/bin python2)。
Pyinstallerがこの問題に関連するオプションを指定しない限り、pyinstallerをpython3から一時的にアンインストールする以外に解決策はないかもしれません。
note py2exeを使用することもできます。python2にはpy2exe、python3にはpyinstallerを使用します。
以前にインストールしていない場合は、最初にPyinstallerをpython2.7バージョンでインストールします
py -2 -m pip install pyinstaller
そしてあなたのフォルダに行き、
py -2 -m pyinstaller -F filename.py