実現したいこと
EXE化されたPythonのプログラムの配置フォルダに、動作設定を参照させるために定義ファイルを同梱させて 運用することを考えています。
発生している問題・分からないこと
開発環境(VisualStudio Professinal2022)でのデバッグ実行では .pyの当該プログラムの所在に配置した定義ファイルを参照して無事に動作に至れますが
EXE化した当該は 如何に定義ファイルを同じ環境に配置しても参照できない問題が生じています。
正直、プログラムレベルで解決すべき問題か、コンパイルの仕方(オプション指定)で回避すべき問題なのか 知識浅く当方定かでございません。
一応 Teratailの問合せフォームに則り、関係部分のソースコードは 以下に貼り付けておきます。
ちなみに、PyInstallerを利用した EXE化は 以下のコマンド指定で対処しています。
py -m PyInstaller C:\Users\XXXXXXXX\Desktop\SENDMAIL\SENDMAIL.py --onefile --noconsol
該当のソースコード
python
1import configparser 2 3 4def get_Config():5 try:6 # --------------------------------------------------7 # configparserの宣言とiniファイルの読み込み8 # --------------------------------------------------9 config_ini = configparser.ConfigParser()10 config_ini.read('config.ini', encoding='utf-8')11 12 # --------------------------------------------------13 # config,iniから値取得14 # --------------------------------------------------15 var1 = config_ini['MAIL']['SMTP']16 var2 = config_ini['MAIL']['PORT']17 var3 = config_ini['MAIL']['LOGINID']18 var4 = config_ini['MAIL']['PASSWORD']19 var5 = config_ini['MAIL']['FROMADDRESS']20 var6 = config_ini['MAIL']['TOADDRESS']21 return var1, var2, var3, var4, var5, var6 22 23 except Exception:24 raise
試したこと・調べたこと
上記の詳細・結果
こちらを参照
同梱しない場合のパスの指定
との説明部分が記事内にありますが 当方は 何を対処することで、EXEファイル配置フォルダに 定義ファイルを置いて 実行時に無事参照できるようになるのか 解釈できず 今回の問合せとなりました。
よろしくお願いします。
補足
特になし
0 コメント