質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
PyInstaller

PyInstallerは、Pythonのスクリプトを一括でWindowsなどで動く実行可能ファイルに変換できるツールです。このツールを用いることで自作のPythonプログラムを別で使用する場合でもPythonをインストールする必要がありません。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

Q&A

0回答

2500閲覧

tensorflow1.15を利用したpythonプログラムのexeファイル化について

imonikai

総合スコア13

PyInstaller

PyInstallerは、Pythonのスクリプトを一括でWindowsなどで動く実行可能ファイルに変換できるツールです。このツールを用いることで自作のPythonプログラムを別で使用する場合でもPythonをインストールする必要がありません。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

0グッド

0クリップ

投稿2020/03/17 02:22

tensorflowを利用したプログラムをexeファイル化したいと考えております。
そこでpyinstallerでexeを作成してみました。
exeファイル自体はエラー無く作成はできたのですが、exeファイルを実行するとエラーが出てしまい動作が停止してしまいました。
このエラーの解決方法がわからず質問させていただきました。

【環境】

centos7 Python 3.6.9 or Python 3.7.0(3.7環境でも試した) tensorflow 1.15.0 PyInstaller 3.6

【プログラム】

python

1import tensorflow as tf 2 3print("@@@@@@")

単にtensorflowを読み込んで文字列をprintするだけの単純なプログラムです。
ターミナル上から上記プログラムを実行(python test.py)するときちんと「@@@@@@」が表示されます。(実際には学習済みデータを再読み込みさせて評価を行いたいと考えています)

【プログラムをexe化】
コマンドライン上から下記コマンドを実行

$ pyinstaller test.py --onefile

ログが多数出力されますが最終行に

169014 INFO: Building EXE from EXE-00.toc completed successfully.

が表示され、実行ディレクトリから見てdist/testなる実行ファイルが作成されます。

【実行ファイルを起動】
作成された実行ファイルを起動すると

Traceback (most recent call last): File "test.py", line 1, in <module> import tensorflow as tf File "/home/-------/anaconda3/envs/test_kankyo/lib/python3.6/site-packages/PyInstaller/loader/pyimod03_importers.py", line 623, in exec_module exec(bytecode, module.__dict__) File "site-packages/tensorflow/__init__.py", line 99, in <module> File "/home/-------/anaconda3/envs/test_kankyo/lib/python3.6/site-packages/PyInstaller/loader/pyimod03_importers.py", line 623, in exec_module exec(bytecode, module.__dict__) File "site-packages/tensorflow_core/__init__.py", line 28, in <module> File "site-packages/tensorflow/__init__.py", line 50, in __getattr__ File "site-packages/tensorflow/__init__.py", line 44, in _load File "importlib/__init__.py", line 126, in import_module ModuleNotFoundError: No module named 'tensorflow_core.python' [17676] Failed to execute script test

というエラーが出力されてしまいどうにもならない状況になっております。
色々とサイトを巡って解決の調査をおこなってはみたのですが上手くいかない状況です
もし、この環境でtensorflow1.15を利用したpythonのexeファイル化のやり方がお分かりになる方がいらっしゃいましたらご教授の程よろしくお願いいたします

【試行錯誤内容】
調査と試した内容としては

  • PyInstallerはtensorflow=1.14にしか対応していない(stackflow内の回答で発見)

→ tensorflow1.15の環境でしかできない制約のため1.14に戻すのは断念
→ 公式な情報としてはtensorflow1.14しか対応していないとうい情報は見つけられなかった

  • 「from PyInstaller.utils.hooks import collect_submodules, collect_data_files

hiddenimports = collect_submodules('tensorflow_core')」
をtest.specファイルに入れてからの実行
→ 試してはみたがエラーは変わらず表示

という内容を行ってみました。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問