【まず1嫁】くだすれPython(超初心者用) その60 (351レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

16
(1): 警備員[Lv.21]:0.02637569 [] 2024/09/21(土) 17:11:39.20 ID:JkarD7jl(1/11) AAS
Pyinstallerでmpmathとsympyを使用しているスクリプトをEXEにしたところ、
スクリプトで実行した状態と挙動が異なってしまった。
mpmathだけの場合と両方を使用したEXEの場合を比較しても、挙動が異なる。

何か良い対処法はないでしょうか?
17: 警備員[Lv.22]:0.02645913 [] 2024/09/21(土) 18:51:37.38 ID:JkarD7jl(2/11) AAS
>>16
ちなみにnuitkaでEXEファイルを作っても、状況は多少異なるが同様にスクリプトとは挙動が異なるEXEが出来上がる。

何か良い対処法はないでしょうか?
19
(1): 警備員[Lv.22]:0.02649869 [] 2024/09/21(土) 19:57:23.45 ID:JkarD7jl(3/11) AAS
pyinstallerは6.6.0、
nuitkaは2.2.2で確認。

altgraph 0.17.4
mpmath 1.3.0
Nuitka 2.2.2
ordered-set 4.1.0
packaging 24.0
pefile 2023.2.7
pip 24.0
pyinstaller 6.6.0
pyinstaller-hooks-contrib 2024.3
pywin32-ctypes 0.2.2
setuptools 69.2.0
sympy 1.13.3
zstandard 0.22.0

こんな環境です。
20
(1): 警備員[Lv.22]:0.02649869 [] 2024/09/21(土) 20:00:08.62 ID:JkarD7jl(4/11) AAS
mpmathだけの場合とsympyを加えた場合の話ですが、どうもスクリプトプログラムのデグレードだったようで、
スクリプトとEXEの挙動の相違はmpmathのみの場合と同一な相違なようでした。
21
(3): 警備員[Lv.22]:0.02649869 [] 2024/09/21(土) 20:15:11.47 ID:JkarD7jl(5/11) AAS
具体的な挙動の相違は、スクリプトではmp.dpsを2000にして、mp.piを実行するときちんと表示できるのですが、
EXEでは
No module named '_pylong'
とエラーになってしまう点です。
ちなみにmp.dpsを1700程度まで下げると両方共問題なく実行できます。
22
(1): 警備員[Lv.22]:0.02653820 [] 2024/09/21(土) 20:53:29.00 ID:JkarD7jl(6/11) AAS
>>19
はpipenv上の環境ですが、どうもpythonのバージョンがスクリプトを実行しているvscodeの3.12.1より古く、
3.10.11だったようで、今nuitkaを実行しているのが終了したらバージョンを上げて試してみます。
23
(2): 警備員[Lv.22]:0.02653820 [] 2024/09/21(土) 20:58:21.42 ID:JkarD7jl(7/11) AAS
>>20
デグレード内容は、

if x or y in a:
処理1
else:
処理2

としていたら常に処理1になっていたのを、

if x in a:
処理1
elif y in a:
処理1
else:
処理2

としたらうまくいったものです。
24
(2): 警備員[Lv.22]:0.02653820 [] 2024/09/21(土) 21:04:03.31 ID:JkarD7jl(8/11) AAS
>>23
失礼。正確には

if 'x' or 'y' in a:
処理1
else:
処理2

としていたら常に処理1になっていたのを、

if 'x' in a:
処理1
elif 'y' in a:
処理1
else:
処理2

としたらうまくいったものです。
シングルクォーテーションでもダブルクォーテーションでも一緒です。
25
(1): 警備員[Lv.22]:0.02653820 [] 2024/09/21(土) 21:34:39.21 ID:JkarD7jl(9/11) AAS
>>22
pipenvのpythonのバージョンが
pipenv updateしても
pipenv install --python 3.12.1しても
3.12.1に上がらない。どうしたものか?
26: 警備員[Lv.23]:0.02657819 [] 2024/09/21(土) 22:15:10.80 ID:JkarD7jl(10/11) AAS
pyenvを入れていないので、仕方なくpython3.10.11をアンインストールして、
最新のpython3.12.6を入れなおしてみたわ。

しかしpyinstallerで作ったEXEでは>>21の状況は変わらず。
nuitkaは実行時間がかかりすぎた上に作成に失敗したので再度は試していない。
27: 警備員[Lv.23]:0.02657819 [] 2024/09/21(土) 22:29:18.61 ID:JkarD7jl(11/11) AAS
>>21
pyinstallerで作ったEXEでは、
mp.dpsを1700にすると実行可能、1800にすると実行不可能、
その続きで1710や1720、などと上げていくと1793までは実行できて1794では実行できない状態となった。
ちなみにいきなり1793で実行すると実行できない。

不思議な挙動。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s