回答編集履歴
2
回答の追記
answer
CHANGED
|
@@ -66,4 +66,39 @@
|
|
|
66
66
|
|
|
67
67
|
不明な点はコメントしてください。
|
|
68
68
|
|
|
69
|
-
※質問者さん以外でこれを読んでいる人がいたら、私の説明の何が悪いのか指摘していただけると嬉しいです。
|
|
69
|
+
※質問者さん以外でこれを読んでいる人がいたら、私の説明の何が悪いのか指摘していただけると嬉しいです。
|
|
70
|
+
|
|
71
|
+
(追記2)
|
|
72
|
+
会社のネットワークでSandboxを遮断している可能性は高いですが、私には解決できません。
|
|
73
|
+
teratailはどこからでも見えるので、個人PCでも試せます。
|
|
74
|
+
|
|
75
|
+
> PyInstallerの実行・及び証明書ありかの確認も 本来sandbox側で対応すべきだったんですかねぇ
|
|
76
|
+
|
|
77
|
+
Sandboxを勧めた理由は、証明書が無い環境で、証明書付き実行ファイルの動作確認をするためです。
|
|
78
|
+
上記のような発言は、それを理解しているか心配になります。ご理解ください。
|
|
79
|
+
|
|
80
|
+
確認手順を考えましたので、試してください。
|
|
81
|
+
|
|
82
|
+
1\. 質問の3/20版のソース(証明書無し版。仮に0320.pyとする)は、PyInstallerを実行した同じコマンドプロンプトで
|
|
83
|
+
> py 0320.py
|
|
84
|
+
|
|
85
|
+
で実行して、syukujitsu.csvを取得できますか?
|
|
86
|
+
|
|
87
|
+
2\. 実行できた場合、0320.pyの`import urllib.request`と`def get_Config():`の間に
|
|
88
|
+
```
|
|
89
|
+
import certifi
|
|
90
|
+
print(certifi.where())
|
|
91
|
+
```
|
|
92
|
+
を入れて、
|
|
93
|
+
> py 0320.py
|
|
94
|
+
|
|
95
|
+
で実行して、syukujitsu.csvを取得できますか? その際、表示されたパスはPyInstallerの`--add-data`に指定したパスと同じですか?
|
|
96
|
+
|
|
97
|
+
3\. 現状の`D:\HOLIDAYS\HOLIDAYS.py`が質問の4/29版のソース(削除したようですが、証明書あり版)であることを確認します。
|
|
98
|
+
`--add-data`が2のパスであることを確認します。
|
|
99
|
+
buildフォルダー、distフォルダー、HOLIDAYS.specを削除して、再度PyInstallerを実行します。
|
|
100
|
+
生成された実行ファイルは、その場で実行できますか? syukujitsu.csvを取得できますか?
|
|
101
|
+
エラーになる場合、HOLIDAYS.specの`datas=`行に出力されているパスは、2のパスと同じですか?
|
|
102
|
+
|
|
103
|
+
まずは、ここまでですね。
|
|
104
|
+
不明な点はコメントしてください。
|
1
回答の追記
answer
CHANGED
|
@@ -40,4 +40,30 @@
|
|
|
40
40
|
--add-data "C:\test\venv\Lib\site-packages\certifi\cacert.pem;."
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
以上で、証明書が無い環境を汚さずに実行できます。
|
|
43
|
+
以上で、証明書が無い環境を汚さずに実行できます。
|
|
44
|
+
|
|
45
|
+
(追記)
|
|
46
|
+
Visual Studioとコマンドプロンプトで同じPython環境を見ているかどうか不明なので、今回の件からVisual Studioは除外してください。
|
|
47
|
+
もちろんVisual Studioをエディター&デバッガーとして使うのはいいのですが、今回の件は既に正解を提示しています。
|
|
48
|
+
あとは、そちらの環境で再現するだけです。
|
|
49
|
+
|
|
50
|
+
目標
|
|
51
|
+
PyInstallerで生成したHOLIDAYS.exeと、config.iniの2本だけで、開発環境以外でもsyukujitsu.csvをネットから取得する。
|
|
52
|
+
|
|
53
|
+
確認
|
|
54
|
+
1. 私が提示した方法で生成したHOLIDAYS.exeは、開発環境のWindows 11で動きますか?
|
|
55
|
+
1. そのHOLIDAYS.exeとconfig.iniをSandboxにコピペして動きますか?
|
|
56
|
+
1. 同様にWindows Serverで動きますか?
|
|
57
|
+
|
|
58
|
+
Windows 11のSandboxは、タスクバーの検索欄にsandboxと入力して検索結果に出てくる「Windows Sandbox」を起動してください。
|
|
59
|
+
初回は時間がかかるかもしれませんが、素のWindows 11(要するに証明書が無い環境)が起動します。
|
|
60
|
+
ちなみにSandboxは毎回まっさらな環境で起動します。
|
|
61
|
+
(もしかしたらHome Editionには入っていないかもしれません。Proならあります。)
|
|
62
|
+
|
|
63
|
+
1,2で動かない場合、手順が間違っています。
|
|
64
|
+
手順と言ってもPyInstallerを叩くだけなので、それを提示してください。
|
|
65
|
+
1,2で動いて3で動かない場合、Windows Server特有の何かなので、こちらでは調査できません。
|
|
66
|
+
|
|
67
|
+
不明な点はコメントしてください。
|
|
68
|
+
|
|
69
|
+
※質問者さん以外でこれを読んでいる人がいたら、私の説明の何が悪いのか指摘していただけると嬉しいです。
|