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

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

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

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

Python 3.x

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

Q&A

解決済

1回答

4507閲覧

pythonのソースをexeにしたら、__file__で返ってくるパスがおかしい。

mi_chan613

総合スコア13

PyInstaller

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

Python 3.x

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

0グッド

0クリップ

投稿2022/01/22 03:52

pythonをexeでconfig.iniを読み込んで動くようにしたいです。
pythonでは、__file__でファイルのあるパスが返ってきますが、pyinstallerでexeにしたら、おかしなパスが返ってきます。

python

1#config.iniからユーザープロファイルを取得 2print("config_ini") 3config_ini = configparser.ConfigParser() 4pypath = __file__ #実行中のパスとファイル名 5print(pypath) 6pyname = os.path.basename(__file__) #実行中のファイル名 7print(pyname) 8#実行中のパスとファイル名からファイル名を削除してiniファイル名を追加 9conpath = pypath.replace(pyname, '') + 'config.ini' 10print(conpath)

をVScodeで実行するとターミナルに

VSCode

1ターミナル 2PS C:\Users\mi_chan> & C:/Users/mi_chan/AppData/Local/Programs/Python/Python310/python.exe c:/Users/mi_chan/Documents/ひまわり/PS自動操作/PSauto.py 3config_ini 4c:\Users\mi_chan\Documents\ひまわり\PS自動操作\PSauto.py 5PSauto.py 6c:\Users\mi_chan\Documents\ひまわり\PS自動操作\config.ini

exeで実行すると、コンソール画面に
イメージ説明
と表示されます。

別に「pypath = os.getcwd()」などしましたが、うまくいきませんでした。
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

pyinstallerで作成したexeファイルは、その中に関係のあるファイルを一時フォルダに展開して実行するからです。

PyInstallerを使ってみたをお読みください。

投稿2022/01/22 04:08

ppaul

総合スコア24666

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

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

mi_chan613

2022/01/22 07:18

解決しました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問