Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the all-in-one-seo-pack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the easy-fancybox domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the urvanov-syntax-highlighter domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the breadcrumb-navxt domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the advanced-ads domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Notice: 関数 _load_textdomain_just_in_time が誤って呼び出されました。lancr ドメインの翻訳の読み込みが早すぎました。これは通常、プラグインまたはテーマの一部のコードが早すぎるタイミングで実行されていることを示しています。翻訳は init アクション以降で読み込む必要があります。 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 6.7.0 で追加されました) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114

Warning: Cannot modify header information - headers already sent by (output started at /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php:6114) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-content/plugins/all-in-one-seo-pack/app/Common/Meta/Robots.php on line 87

Warning: Cannot modify header information - headers already sent by (output started at /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php:6114) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/feed-rss2.php on line 8
cx_Freeze | 診療放射線技師がPythonをはじめました。 http://radiology-technologist.info 診療放射線技師のPython日記。解析等で使えるコードを作成、アップしていきたいと思っています。その他いろいろ Sat, 18 May 2024 18:24:57 +0000 ja hourly 1 https://wordpress.org/?v=6.7 https://i0.wp.com/radiology-technologist.info/wp-content/uploads/2018/09/cropped-logo5.png?fit=32%2C32 cx_Freeze | 診療放射線技師がPythonをはじめました。 http://radiology-technologist.info 32 32 164362728 cx-Freeze input()でエラーが・・その対策 http://radiology-technologist.info/post-1945 Sat, 18 May 2024 18:19:58 +0000 http://radiology-technologist.info/?p=1945 cx-Freezeを用いてexe化をした際にエラー […]

The post cx-Freeze input()でエラーが・・その対策 first appeared on 診療放射線技師がPythonをはじめました。.]]>
cx-Freezeを用いてexe化をした際にエラーが出てしまった件


exe化した際にはエラーは出ていなかったのですが、実際exeファイルを実行すると以下のエラーが発生

RuntimeError: input(): lost sys.stdin というエラーは、Pythonのinput()関数が実行されるときに標準入力が利用できないことが原因のようです。


広告
デル株式会社

対策

ということで、簡潔に言うと

setup.pyで以下の部分を修正します。

import sys
from cx_Freeze import setup, Executable

build_exe_options = {
    # 取り込みたいパッケージ
    "packages": ["pydicom","fileselect"],
    # 除外したいパッケージ
    "excludes": ["matplotlib","numpy","seaborn","opencv-python"],
}

base = None
if sys.platform == "win32":
    base = "Win32GUI"  #←ここをNoneに変更
    #base = None

setup(
    # アプリの名前
    name="Application Name",
    version="0.1",
    # アプリの説明
    description="explanation",
    options={
        "build_exe": build_exe_options,
    },
    executables=[
        Executable(
            # 実行ファイル名を記載します。
            script="filename.py",
            base=base,
        ),
    ],
)

13行目の base = “Win32GUI”を

base = None

に変更するだけ。


広告
HP Directplus -HP公式オンラインストア-

baseとは

変更した設定のbaseとはアプリケーションの種類の設定になるようです。

‘Win32GUI’

GUIアプリケーションを用いたものとなり、コンソールは使用できないようになるそうです。


None

コンソールアプリケーション

という事になるそうです。


どなたかの役にたてば幸いです。

もしよろしければ、「いいね」押してくださいね。

広告
上新電機 パソコン買取サービス
The post cx-Freeze input()でエラーが・・その対策 first appeared on 診療放射線技師がPythonをはじめました。.]]>
1945
cx_Freezeでexe化。「matplotlibのモジュールが見つかりません」のエラー対処 http://radiology-technologist.info/post-698 Mon, 08 Jun 2020 23:00:08 +0000 http://radiology-technologist.info/?p=698 はじめに 前回、cx_Freezeを使ってプロジェ […]

The post cx_Freezeでexe化。「matplotlibのモジュールが見つかりません」のエラー対処 first appeared on 診療放射線技師がPythonをはじめました。.]]>
はじめに

前回、cx_Freezeを使ってプロジェクトのexe化を行いましたがその際に問題になった点を記載したいと思います。

exe化したファイルをダブルクリックしコマンドプロンプトが立ち上がったのですが、一瞬立ち上がりすぐに終了してしまう現象が起こりました。

エラーを見ようとしてもすぐに消えてしまい確認することができない。。。。

エラーが表示された瞬間をプリントスクリーンして確認しようと10くらい挑戦したのですが、さすがに反射神経が衰えてきた自分には無理・・・・

出来ても途中までの部分しかキャプチャーできず。。。

その対処法ともう一つの問題点。

何とか問題点を克服し、次の段階に進むことができたのですが、今度はmatplotlibのモジュールが見つかりません。のエラー。

プログラムの段階ではきちんと動くのに・・・・

それらの、対処法を記載していきたいと思います。


広告
デル株式会社

起動しても、すぐに落ちてしまう…

グーグル先生に答えを求めると

バッチファイルを作成して確認することができます。とのブログを発見。

どこでもいいのでテキストファイルを作成します。

そのファイルを開き処理を書いていきます。

まず、フォルダを移動し、exeファイルを起動そして、停止の処理を記載します。コードは以下のようになります。

cd [ファイルパス]
[exe化したファイル名] %1
PAUSE

それを保存した後、ファイルの拡張子を「.bat」に変更します。それをダブルクリックすることで起動後、一時停止となりエラーコードを確認することができました。


広告
HP Directplus -HP公式オンラインストア-

matplot_toolkitsが見つかりません・・・・

いざ、起動してみるとエラーが・・・

エラーをキャプチャするのを忘れてしまいましたが、’mpl_toolkits’のモジュールが見つかりませんのエラーが発生。

このエラーには苦労しました。setupファイルのインポート部分にmpl_toolkitsのパスを記入してみたり、その他いろいろとやってみたのですが駄目で。。。。

結局、mpl_toolkitsの中に一つ、空のファイルを作成することで解決しました。

作成する場所は人それぞれですが、私の場合は以下の場所です。

C:\Users\ユーザー名\anaconda3\envs\v3.6\Lib\site-packages\mpl_toolkits

v3.6とは作成した仮想環境名です。

デフォルトの環境を用いている場合は以下かもしれません。

C:\Users\ユーザー名\anaconda3\Lib\site-packages\mpl_toolkits

そこに、テキストファイルを作成。名前を

__init__.py

を作成。

その後、再度exe化することできちんと起動しました。

お疲れ様でした。


広告
BTOパソコン・パソコン関連商品がお買い得!パソコン工房のセール

環境

  • windows10
  • python3.6.1
  • Anaconda custom(64-bit)
  • PyCharm2020.2(Communication Edition)


広告
上新電機 パソコン買取サービス
The post cx_Freezeでexe化。「matplotlibのモジュールが見つかりません」のエラー対処 first appeared on 診療放射線技師がPythonをはじめました。.]]>
698