2017-03-22 3 views
0

を獲得するために変換された後、任意の出力を生成しない私は(3.6)のpythonを持っているスクリプトはprint()コマンドを使用して、出力を印刷:スクリプト実行

print(convert_size(logsize)) 

は、それからcx_Freeze 5.0を使用して.exeをするスクリプトを変換しました。 1。 IDLEで動作し、出力をプリントしたり、ダブルクリックで、または管理者として.exeファイルを起動したり、管理者としてcmdから実行したりすると、出力はまったく生成されません。http://prnt.sc/emz5m4

input()をスクリプトの最後に置き、ファイルを.exeに再コンパイルします。このファイルは、ウィンドウを閉じることを「停止」しますが、それでも閉じます。

+0

再コンパイル済みのexeを使用していますか? –

+0

出力を見るには、コマンドラインから実行する必要があります。 Windowsのプログラムはデフォルトで 'stdout'を持っていません(' print() '出力が送られます)。 – martineau

+0

@Ashishはい、100%確実です。 martineauですが、それでもcmdでは実行できません – feedthemachine

答えて

0

私はそれが2.7と3.6のために設置していたので、pyInstallerのは3.6の場所から起動されています表示されます。正しい場所(C:\ Python27 \ Scripts)が指定されると、スクリプトは正常にコンパイルされました!

0

この問題は、このスクリプトをコンパイルするとき、または他のスクリプトでのみ発生しますか?

cx_Freezeでコンソールに出力することができない場合は、pyinstallerでコンパイルを試してみてください。具体的には、オプション '--console'または '--noconsole'を使用すると、コンソールで出力を表示するかどうかを制御できます。それは私のためにうまくいった。

https://pythonhosted.org/PyInstaller/usage.html

+0

いずれのスクリプトも動作していません。私は(バージョン3.2.1)pyinstaller script.pyを試しましたが、エラーがスローされました:IndexError:タプルのインデックスが範囲外になっています Python 3.6をサポートしていないようですが、 (同じエラー) – feedthemachine

+0

ここにcx-Freeze'dディレクトリの内容です:http://prntscr.com/en0t5l – feedthemachine