🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

2715閲覧

python配布用にexe化したファイルが実行できない

BigAngel

総合スコア6

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2021/03/11 02:27

編集2021/03/11 02:28

前提・実現したいこと

pythonで作成したプログラムを配布するためにexeファイルを作成しました。

作成したファイルをdistファイル内で実行した際は問題なく動作するのですが、
配布するためにコピーし実行すると下記エラーが発生しました。

発生している問題・エラーメッセージ

Failed to execute script ファイル名

exeファイルに変換

pyinstaller python.py --noconsole --onefile

ご教示いただきたいこと

コピー後に実行できなくなる意味が分からず、ご教示いただければと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

コピーするときはdistフォルダごと コピーして dist フォルダ内で起動しないと 動かないのでは?

投稿2021/03/11 05:54

showkit

総合スコア1638

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

BigAngel

2021/03/11 06:15

ご回答ありがとうございます。 distフォルダごとコピーしてみたところ、やはり同じエラーが出てしまいました。 補足ですが、distファイルが作成されないように --onefile ですべてexeファイルで完結できるようにしています。 exeファイルを実行した際にエクセルファイルが作成される等、exeが保存されているフォルダ内のファイルを操作するようなプログラムを組んでいるため、初めて触る人が迷わないようにするためです。
showkit

2021/03/11 07:06

「--noconsole」はずしたら、どうなりますか?
BigAngel

2021/03/11 07:38

エラーは出なくなりますが、処理が途中で終わるようになりました。 詳細としては、tkinterを使用し、画像の座標からデータを取得するプログラムを作成しており、座標取得用tkinterで作業後、データ取得スタート・ストップ用tkinterに切り替わるようになっています。 今までは切り替わる際にエラーが出ていましたが、ファイルが閉じるようになりました。 昨日はコピーしたもので作業できていたのですが、pythonのそもそものプログラムが悪いのでしょうか?
showkit

2021/03/11 07:43

「--noconsole」は、コンソールなしですね。 では、コマンドプロンプトを開いて、「.exe」のあるフォルダに、「cd」で移動して、コマンドプロンプトから「.exe」を起動したらどうなりますか?それで動けば、環境の問題、動かなければ もともとのプログラムの可能性が 高いかと思います。
BigAngel

2021/03/11 07:55

先ほどの「--noconsole」なしのファイルを実行したところ、コマンドプロントに「Failed to execute script ファイル名」のエラーが表示されるようになりました。
showkit

2021/03/11 09:05

どうも、環境の問題かと思われます。すべてのオプションなしに 作成して dist フォルダごと 配布すると 動きますが .exe のみだと動きません。思いますに、結局 インストール先に python が動作する環境 もしくは オプションなしにできる dist 内の 少なくとも「.dll」がないと 動作しないかと思われます。cython でなければ、python 環境下でないと動作しないわけですから。
BigAngel

2021/03/22 08:01 編集

返信遅くなってしまい申し訳ございません。 その後、プログラムを確認しエラーの出る原因のコードを見つけました。 下記のコードにてマスクを作成した際、上記質問文の「発生している問題・エラーメッセージ」と同じエラーが発生します。 「img_mask = cv2.inRange(image, bgrLower, bgrUpper)」 コードのどこが環境に引っかかるかわかりますでしょうか? また、このコメントではなく一度質問を作成した方がよろしいですか?
showkit

2021/03/22 08:18

例外が発生しているようでしたら、例外のコードを出力させれば、もう少し原因がつかめるかもしれません。 その結果、exe 化したことと別の原因であるようであれば、新たに 質問しなおしたほうがいいかもです。
BigAngel

2021/03/23 06:39

マスクを使用しないコードに変更してみたのですが、エラーが発生しました。 先日環境が問題とおっしゃっていましたが、どのような原因が考えられますでしょうか?
showkit

2021/03/23 07:18

環境の問題と言っていたのは、インストール先に「python」自体がインストールされているかいないかという話です。
BigAngel

2021/03/23 07:45

私のPCにpythonインストールされているのですが、自分のデスクトップ等に保存した際もエラーが発生します。 インストール先のフォルダ内にpythonがないといけないのでしょうか。
showkit

2021/03/23 07:47

パスが 通っていれば 問題ありません。パスは 通していますか?
BigAngel

2021/03/23 08:15

ただいま確認してまいりました。 下サイトにて掲載されている作業を確認し、きちんと通せているようでした。 https://www.javadrive.jp/python/install/index3.html このほかに必要な作業があるということでしょうか?
showkit

2021/03/23 08:33

いえ、作業フォルダで「python -V」を実行して、バージョンが表示されるならば、インストールとパスは問題ないので、別の問題であると思われます。
BigAngel

2021/03/25 09:23

簡略化したコードを載せた質問を再度投稿させていただきました。 そちらの方がわかりやすいと思いますので、もしよろしければ確認いただけたらと思います。 https://teratail.com/questions/329816 長い期間にもかかわらず、度々真摯にご回答いただきありがとうございました。 こちらの質問は、解決策が見つかり次第処理致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問