実現したいこと
EXE化した自分開発のプログラムは 内閣府から国民の祝祭日のCSVファイルをhttpsアクセスで取得しにいく内容になっています。UIなしの仕様、コンソール画面非表示でEXE化してしまいました。
以下全容、ロクなもんじゃないです...
Python
1import sys 2import os 3import configparser 4import urllib.request 5 6def get_Config(): 7 try: 8 # -------------------------------------------------- 9 # configparserの宣言とiniファイルの読み込み 10 # -------------------------------------------------- 11 curpath = os.path.dirname(os.path.realpath(sys.argv[0])) 12 cfgpath = os.path.join(curpath, "config.ini") 13 14 config_ini = configparser.ConfigParser() 15 config_ini.read(cfgpath, encoding='utf-8') 16 17 # -------------------------------------------------- 18 # config,iniから値取得 19 # -------------------------------------------------- 20 var1 = config_ini['ZIPP_TYPEA']['URL'] 21 var2 = config_ini['ZIPP_TYPEA']['OUTPUT'] 22 23 return var1, var2 24 except Exception: 25 raise 26 27 28 29def download_file(url, dst_path): 30 with urllib.request.urlopen(url) as web_file, open(dst_path, 'wb') as local_file: 31 local_file.write(web_file.read()) 32 33 34 35def req_URL(): 36 try: 37 lst_config = get_Config() 38 download_file(lst_config[0], lst_config[1]) 39 40 41 except Exception as e: 42 print ('??? ' + str(e) + ' ???') 43 44 45 46if __name__ == '__main__': 47 req_URL()
こちらはサーバで運用していくことを目的に開発しました。WindowsServer2022でEXE化したこちらを 正常動作させていくことが実現したいことです。
発生している問題・分からないこと
WindowsServer2016とWindowsServer2022では 途中でこけているのか、結果を得られません。
同じEXEをWindows11に配置して実行すると 無事動作しているとみえ 目的のCSVファイルを取得できます。
動作上必要になる情報を 決まった名前のファイルから取得する仕様ですが サーバでの動作時にこれを獲得できていない とか起きているのでしょうか
それとも、ファイアウォールとかを疑うべきでしょうか?
それとも.NETランタイプみたいなものが 運用予定のサーバに必要なのにセットアップされていないことが 非動作の要因になっているのでしょうか
エラーメッセージ
error
1コンソール非表示タイプのEXEで、ログ出力していない仕様のため、我ながらブラックボックスなんです!
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
自分のこちらでの過去記事を照会。
PyIntallerを利用したEXE化の際、オプション指定の追加で無事解決にいたっているようでした。
追記 2026/03/19 AM07:56
PowerShellでの URLアクセスの結果=現れたメッセージを画像と共に貼付けます
SSL/TLS セキュリティで保護されたチャネルの信頼関係を確立できませんでした

追記 2026/03/19 PM02:03
追記 2026/03/20 AM10:03
★異常を検知するための Try Catchが入っていない ファンクションは 全て修正、
例外時にprint文で 相応のメッセージが画面に現れるよう期待。
Python
1import sys 2import os 3import configparser 4import urllib.request 5 6def get_Config(): 7 try: 8 # -------------------------------------------------- 9 # configparserの宣言とiniファイルの読み込み 10 # -------------------------------------------------- 11 curpath = os.path.dirname(os.path.realpath(sys.argv[0])) 12 cfgpath = os.path.join(curpath, "config.ini") 13 14 config_ini = configparser.ConfigParser() 15 config_ini.read(cfgpath, encoding='utf-8') 16 17 # -------------------------------------------------- 18 # config,iniから値取得 19 # -------------------------------------------------- 20 var1 = config_ini['ZIPP_TYPEA']['URL'] 21 var2 = config_ini['ZIPP_TYPEA']['OUTPUT'] 22 23 return var1, var2 24 except Exception as e: 25 print ('??? ' + str(e) + ' ???') 26 raise 27 28 29 30def download_file(url, dst_path): 31 try: 32 with urllib.request.urlopen(url) as web_file, open(dst_path, 'wb') as local_file: 33 local_file.write(web_file.read()) 34 35 except Exception as e: 36 print ('??? ' + str(e) + ' ???') 37 38 39def req_URL(): 40 try: 41 lst_config = get_Config() 42 download_file(lst_config[0], lst_config[1]) 43 44 45 except Exception as e: 46 print ('??? ' + str(e) + ' ???') 47 48 49 50if __name__ == '__main__': 51 req_URL()
★EXE化の際に、従来コンソール表示なしの オプションを付け加えていたのでこれを外してEXE化対処
py -m PyInstaller D:\HOLIDAYS\HOLIDAYS.py --icon=D:\HOLIDAYS\images\HOLIDAYS.ico --onefile
あなたの回答
tips
プレビュー
