web-dev-qa-db-ja.com

python pyinstallerで使用するバージョンを変更する方法

.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?

9
Kyle Sargent

Pythonを使用:

PyInstallerがPython 3.xにインストールされていることを確認してください:pip3 freeze

PyInstaller == 3.3.1

次に、コマンドを実行します。

/path/to/python3 -m PyInstaller your_script.py
11
Joseph D.

python 2.xの下のパスにpython2があるとすると、次のことができます

    python2 -m pyinstaller hello.py
1
matusko

アプリケーションを1つのOS内にバンドルする必要があるが、Pythonおよびサポートライブラリのバージョンが異なる場合-たとえば、Python 3バージョンとa Python 2.7バージョン、またはQt4を使用するサポートバージョンとQt5を使用する開発バージョン– virtualenvの使用をお勧めします。virtualenvを使用すると、Pythonとインストールされたパッケージ、およびある組み合わせから別の組み合わせに簡単に切り替えます(Python 3.4以降でのみ作業する場合、python3 -m venvは同じ仕事をします。モジュールvenvを参照してください)。

  • Virtualenvを使用して、必要な数の異なる開発環境をそれぞれ作成します。
  • Pythonとインストールされたパッケージのユニークな組み合わせで。
  • 各環境にPyInstallerをインストールします。
  • PyInstallerを使用して、各環境でアプリケーションをビルドします。
1
user11905916

私は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を使用します。

0
oldlodestone

以前にインストールしていない場合は、最初にPyinstallerをpython2.7バージョンでインストールしますpy -2 -m pip install pyinstaller

そしてあなたのフォルダに行き、

py -2 -m pyinstaller -F filename.py
0