【プログラミング】Pythonとpyinstallerに詳しいやつ来てくれ
■ このスレッドは過去ログ倉庫に格納されています
Json読み取るスクリプトがあるんだがexe化したら読み込めないんだがどうすれば良いんだ? てかそもそも読み取るJsonファイルはどこにおけばいいんだ?
Pythonスクリプトのときは同フォルダ無いに入れて'setting.json'で読み取ってたけどさ >>2
いやJsonにパスが仕込んであってexeファイルはそのパスを頼りにデータの処理を実行させるようにしたいんだが >>11
C#でこんなんあったな
絶対パスにするか相対パスから絶対パスに変換にしとけ 相対パスで記述する意味あるか?
呼び出すプログラムのディレクトリが制限されるクネ >>12
ユーザーにPythonインストールさせたくないだろ常識的に考えて >>11
絶対パスに指定するとユーザーがいろんな場所にこのexeファイル置いたとき追えなくね? 今StableDiffusionのsafetensorsファイルをonnxファイルに変換するプログラム作ってんだわ
C#のGUIで変換したいsafetensorsファイルの場所とonnxを吐き出す場所を指定したjsonファイルを.exe直下に配置してC#のProcess.Start(convert.exe)でPythonのexeを実行したい >>17
相対パスを絶対パスに変換する関数使えばいーじゃん >>17
なにをしたいのかよくわからんけど
exe起動時の引数に絶対パス指定すればいんじゃね? 今pyinstallerでexe化したけど
スクリプトのディレクトリ/dist/convert.exeて感じにできたからdistフォルダにjsonファイルを置いてもスクリプトのディレクトリにjson置いてもどっちも読み取れてなさそう exeファイルなのに引数指定できるんか?
関数じゃないしスクリプトでも無いぞ? >>24
なんだそれ?
__main__を使ってる >>26
やったことないけど聞いたことあるぞ
使えないならすまんこ てかc#からpython.exe script.pyを動かせないの >>28
そうか…
俺もわからん
そもそもexeは引数渡せないものだと思ってたからJsonファイルにして読込させようと思ってたんよな
引数渡せるならJsonなんて作らず
〇〇.exe+引数1,引数2,引数3ってやるし >>29
.pyは動かせるがユーザーがPythonインストールしてないと動かんだろ
なんのためのパイインストーラーだよ この前までなんで実行環境必要なんだよと癇癪起こして暴れ回ってたようだがやっとpyinstaller使うようになったのか
一歩前進だね🥹 >>33
なるほどサンクス
Pythonで複数の引数を処理するときは
引数1 = sys.argv[0]
引数2 = sys.argv[1]
引数3 = sys.argv[2]
ってやれば良いんだろうか? 引数取得ならargparse使うほうが色々便利だよ >>40
だからそれ.pyのスクリプトじゃないとできないだろ >>39
じゃあsys.grgv[1]がスタート? directory = os.path.dirname(os.path.abspath(__file__))
とか使えないのかな >>41
なんか勘違いしてるけどpyをexeファイルに変換してるのではなく
pyを内包してるだけだぞ
ほかにpyの実行環境とかも入ってるんだと思う >>45
そうなん?
でもexe 〇〇 〇〇じゃargparse動かんくね?
あれ.py --〇〇 △△ --□□ ✕✕
だろ? そのexeからcwd表示して確認すりゃいいだろと思うんだが >>46
exe叩いても結局は内包されてるpy実行してるだけだぞ >>44
>>47に書いてあることをしようとしてる >>48
それってPython環境無いところでも動くん? >>50
そりゃ動くだろpyinstall使ってるんだから
pyinstallが何してくれると思ってたの? ■ このスレッドは過去ログ倉庫に格納されています