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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

6740閲覧

Python3 64bitで作成したものをX86でも使えるexeにしたい

nodact

総合スコア41

PyInstaller

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2020/04/03 08:19

編集2022/01/12 10:55

質問をみていただきましてありがとうございます。
Pythonで作成したWindowsのデスクトップアプリのexe化でつまづいています。
調べてみたのですが、思っている結果にたどり着かず質問させていただきました。

やってみたこと

Visual Studio Codeを使用してPythonのデスクトップアプリケーションを作成してみました。
内容は、SeleniumとChromedriverを使用してサイト検索の簡単化を目指しました。(クックパッド)
取得した内容をまとめて画面に出すという簡単なものです。

各種バージョン

Visual Studio Code 1.34
Python 3.7.4(64bit)
開発PC Windows10 64bit
自宅共用PC Windows10 32bit

Vscodeのcurrent python でもPython 3.7.4(64bit)が選択されています。

# つまづいたところ
Pythonのデバック(F5)では動作はOKで、いざExe化だ!とはりきり
ググってPyinstallでexe化することにしました。
specファイルの中身は次の通りです

setting.spec

1# -*- mode: python ; coding: utf-8 -*- 2 3block_cipher = None 4 5 6a = Analysis(['main.py'], 7 pathex=['D:\TestPythonApp\project'], 8 binaries=[('./chromedriver/chromedriver_win32_80/chromedriver.exe', './TestPythonApp/chromedriver/chromedriver_win32_80'), 9 ('./webview/lib', 'webview/lib'), 10 ('./cefpython3/', '.')], 11 datas=[('./common', './TestPythonApp/common')], 12 hiddenimports=[], 13 hookspath=[], 14 runtime_hooks=[], 15 excludes=[], 16 win_no_prefer_redirects=False, 17 win_private_assemblies=False, 18 cipher=block_cipher, 19 noarchive=False) 20pyz = PYZ(a.pure, a.zipped_data, 21 cipher=block_cipher) 22exe = EXE(pyz, 23 a.scripts, 24 a.binaries, 25 a.zipfiles, 26 a.datas, 27 [], 28 name='TestPythonApp', 29 debug=False, 30 bootloader_ignore_signals=False, 31 strip=False, 32 upx=True, 33 upx_exclude=[], 34 runtime_tmpdir=None, 35 console=False, 36 icon='icon.ico')

この状態でvscodeのターミナルを使用してPyinstaller setthing.specを実行すると
しっかりexeが出力されました。

これを、他のX64のPCで実行してみると見事起動。
しかし、いざ自宅の共用PCで起動すると
このPCで実行できませんのエラー。

最初は何が違うのかわからず色々試した結果、
X86 のPCだけ動かないことがわかり調べてみました。

しかし、解決には至らず質問させていただきました。

質問

  1. 現状でx86用(32bit)用のexeを作成することは可能なのでしょうか?
  2. できるのであればその方法、できないのであれば、どうやったら可能なのでしょうか?
  3. 64bitで開発を行っていても32bitと64bit用のexeにする方法が知りたいです。
  4. 次の開発からこのようにならないようにしたいのですが、何かした方がいいことなどあれば教えていただきたいです。
  5. py2exeというのが調べていたらでてきたのですが、こちらの方が使い勝手がよかったりするのでしょうか?

わかるかた、ご教示いただきたく思います。
よろしくお願いいたします。

また、不明点や間違い等ございましたらお手数ですが
ご指摘いただけますと幸いです。

追記

32bitのPythonで作成するといいということで、vscodeのcurrent pythonを32bitにして
exe化してみたのですが、動きません。

さらに追記
venvを使うとできるかもと模索中です。

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

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

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

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

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

guest

回答1

0

1.現状でx86用(32bit)用のexeを作成することは可能なのでしょうか?

32ビット版のPythonを使えば可能かと思います(32ビット版のPythonは64ビット環境でも動きます)。

投稿2020/04/03 08:23

maisumakun

総合スコア145121

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

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

nodact

2020/04/03 09:41

ご回答いただいましてありがとうございます! vscodeのcurrent pythonを32bitにするという認識であっているでしょうか? 早速、currentを32bitにして同じくexe化してみたのですが やはりうまく起動しませんでした.....
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問