【まず1嫁】くだすれPython(超初心者用) その59

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
垢版 |
2023/07/13(木) 18:48:41.56ID:INS7SIu4
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合★は、
  表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。

Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇
【まず1嫁】くだすれPython(超初心者用) その58
https://mevius.5ch.net/test/read.cgi/tech/1662514433/

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
2024/06/28(金) 17:39:52.27ID:bVzHKq+e
インターネットからのパッケージの入手ができないクローズドな環境で
Pythonを使ってます

Portable運用ができるのでWinPythonを使っているのですが、
同梱されているものがバージョンにより異なり、
PandasやKerasが入っていたりいなかったりするのがちょっと困ってます

自分が必要なものを導入した状態でポータブル化したPython環境、
みたいなものを作る方法はありますでしょうか
2024/06/28(金) 17:44:05.75ID:sa0QpqCC
>>805
ちゃうよ
ゴルーチンみたいな奴
ちゃんとスレッドは使う
2024/06/28(金) 18:21:18.71ID:IKZAS17P
>>807
それはグリーンスレッドのスケジューラー/エグゼキューターが
内部でOSスレッドのスレッドプールを使ってるという話でしょ
asyncのTaskをOSのスレッドのスレッドプールで回すのと仕組み的は同じでは?

スケジューリング方法の違いやスタックの有無だったり
スケジューラー/エグゼキューターが言語にビルトインされてて
アプリケーションコードで意識しなくてもいいとか
ゴルーチンとの違いはいろいろあるけど
それはマイクロスレッドの定義とは関係ないんじゃない?
2024/06/28(金) 18:33:47.84ID:sa0QpqCC
>>808
asyncのTaskは数千、数万も作れないでしょ
ゴルーチンすなわちマイクロスレッドはそれぐらい作れる設計
2024/06/28(金) 18:50:13.66ID:IKZAS17P
>>809
>asyncのTaskは数千、数万も作れないでしょ
インタープリターだから生成が遅いというだけで
その数は余裕でしょ
811デフォルトの名無しさん
垢版 |
2024/06/28(金) 20:02:09.92ID:TzaR5aOj
>806
ありますよ
2024/06/28(金) 21:12:32.85ID:sa0QpqCC
>>810
asyncはあくまでIOが並列化できるだけ
計算の実態を数万作れるのはゴルーチンだけ
よって本質が全く違う
2024/06/28(金) 21:42:27.28ID:69xrfFOO
>>812が間違っていて理解も不足している
各言語のasyncタスクは数万タスク動かせる
Pythonでは試していないがおそらく動くのだろう
2024/06/28(金) 22:10:06.47ID:sa0QpqCC
>>813
だから動かないって
ゴルーチンは「計算の主体」(って意味わかる?)
を数百万個作れる
これはユーザースペースでコンテキストスイッチをしてるため
おまけにスタックサイズも動的な上に小さい
全てマシンコードレベルで行われる
当然ロックなど存在しない
これがマイクロスレッド
2024/06/28(金) 22:15:33.56ID:69xrfFOO
>>814
君は非同期タスクについて何も知らない無知者だとわかった
まずは勉強して知識をつけなさい
もう君の相手をすることはない
2024/06/28(金) 22:21:09.52ID:sa0QpqCC
>>815
御託はいいから動かしてみてね
思い処理を数万個でいいから
Goだと並列でちゃんと動くよ
2024/06/28(金) 22:35:05.70ID:b9qgRVqH
asyncのtaskはどの言語でもJavaScriptからRustに至るまで数万個並行で動作するよ
そのために各言語に導入されたんだよ
2024/06/29(土) 03:17:28.84ID:4AUQ0CVf
Elixir は、10万もの小プロセスを起動できる。
メモリが大きいと、5千万小プロセスも。
ただし、小プロセスは、OS のプロセスとは異なるものです

スクエニは、Elixirを使っているらしい

Go の並行処理も、mattn の本に書いてあるけど、
C で、OS の100スレッドを起動したら、
CPU 使用率が高く、12秒も掛かったが、

Goで100 goroutine を起動したら、
6スレッドしか起動せず、9秒で済んだ

Goの方が、CPUコアを効率的に使える

とにかく、スレッドを起動したらダメ!
CPUコアや時間の大半が、スレッドの起動処理に使われるから
2024/06/29(土) 08:36:40.26ID:9/qe2SG9
知ったかぶりして間違ったこと書く
やんわり間違いを指摘される
反省せずに開き直る!

またこの流れ
ググればすぐわかるような間違いなのになんなんだろうな
2024/06/29(土) 09:05:37.50ID:C+0SrrrI
ElixrはCPU使う処理は得意ではないよ
処理は一瞬で終わるが大量の処理を必要とするようなものが得意
それこそpush通知とかね
Goのようにマシンコードレベルでコンテキストスイッチを実装してるわけではないから
重い処理を書くと途端に負荷が上がる
2024/06/30(日) 11:06:44.92ID:L3wyoKVN
Erlang最強
2024/07/01(月) 05:47:45.32ID:ppYg1fh2
AIならね
2024/07/07(日) 10:33:44.66ID:1r2hUTKR
pythonで、windows10か11の多画面環境で特定のウインドウのSS撮りたいんだけど
ウインドウハンドル取得してwinAPI叩いてやってるんだけど
メイン画面以外で縦方向に数百pixの座標ズレが出てしまう

こういう書き方しろ、みたいなのご存知の方どなたか…
2024/07/07(日) 22:05:47.86ID:5EkJktI1
>>823
それのどこがPythonに関係あると思うの?
何らかPythonならではのところに原因がありそうなのであればその辺の詳しい情報を出してくれないことには分かるわけないし、
そうでないならCのサンプルコードを探した方がいいのでは
825デフォルトの名無しさん
垢版 |
2024/07/07(日) 23:45:08.47ID:y7P/TwV5
pythonで取得したいのだからpythonの話でしょうよ
どうせSS部分pythonのライブラリ使うんだから
(ビットマップオブジェクトとかまでapi叩くんならアレだけど)
2024/07/07(日) 23:57:01.73ID:5gDGdFIi
自分で書いたコード提示して聞いた方が回答つくと思うが
2024/07/08(月) 00:05:50.31ID:+/07puKi
Windowsのマルチモニタ環境では、各モニタの座標系が異なるため、座標のズレが発生することがあります。この問題を解決するためには、モニタの相対的な位置と解像度を考慮して座標を変換する必要があります
2024/07/08(月) 00:06:20.59ID:+/07puKi
1. 各モニタの情報を取得する
2. 指定したウィンドウがどのモニタにあるかを特定する
3. ウィンドウの座標をそのモニタの座標系に変換する
829デフォルトの名無しさん
垢版 |
2024/07/08(月) 08:43:58.61ID:XK4Xq7P1
ういんどうずはクソなので超めんどくせえんだわ
おれはウインドウ内のみ欲しくて、その描画myW, myHが分かってる場合しか書いたことないけど
rectたちから計算できるべ多分

DWMWA_EXTENDED_FRAME_BOUNDS = 9
r_rect = ctypes.wintypes.RECT()
ctypes.windll.dwmapi.DwmGetWindowAttribute(hwnd, DWMWA〜, ctypes.byref(rect), ctypes.sizeof(rect))
_style = win32gui.GetWindowLong(hwnd, win32con.GWL_STYLE)
if _style & win32con.WS_THICKFRAME:
_win_border_size = win32api.GetSystemMetrics(win32con.SM_CYFRAME)
else:
_win_border_size = win32api.GetSystemMetrics(win32con.SM_CYBORDER)
win_border_size *= 2

c_rect = win32gui.GetClientRect(hwnd)
w_rect = win32gui.GetWindowRect(hwnd)
830デフォルトの名無しさん
垢版 |
2024/07/08(月) 08:45:47.33ID:XK4Xq7P1
r_height = r_rect.bottom - r_rect.top
c_width = c_rect[2] - c_rect[0]
c_height = c_rect[3] - c_rect[1]
w_width = w_rect[2] - w_rect[0]

src_pos_x = (w_width - c_width) // 2
titlebar_height = r_height - c_height - win_border_size

hwndDC = win32gui.GetWindowDC(hwnd)
mfcDC = win32ui.CreateDCFromHandle(hwndDC)
saveDC = mfcDC.CreateCompatibleDC()
saveBitMap = win32ui.CreateBitmap()
saveBitMap.CreateCompatibleBitmap(mfcDC, myW, myH)
saveDC.SelectObject(saveBitMap)
saveDC.BitBlt((0, 0), (myW, myH), mfcDC, (src_x, titlebar_height), win32con.SRCCOPY)
bmpinfo = saveBitMap.GetInfo()
bmpstr = saveBitMap.GetBitmapBits(True)
im = Image.frombuffer('RGB', (bmpinfo['bmWidth'], bmpinfo['bmHeight']), bmpstr, 'raw', 'BGRX', 0, 1)

win32gui.DeleteObject(saveBitMap.GetHandle())
saveDC.DeleteDC()
mfcDC.DeleteDC()
win32gui.ReleaseDC(hwnd, hwndDC)


高DPI対応でこれ入れてるとずれるからそれは知らん
ctypes.windll.shcore.SetProcessDpiAwareness(1)
831デフォルトの名無しさん
垢版 |
2024/07/08(月) 08:48:31.66ID:XK4Xq7P1
訂正
saveDC.BitBlt((0, 0), (myW, myH), mfcDC, (src_pos_x, titlebar_height), win32con.SRCCOPY)
2024/07/08(月) 21:09:08.76ID:s8AzJdEo
>>829-831
マジで助かりました…上手くいきましたが
コードが全然読めないので精進します
833デフォルトの名無しさん
垢版 |
2024/07/09(火) 01:02:05.27ID:qs1jvts2
posXの計算式どういう理屈でそれなんだろう…
総当たりで試したのかな
2024/07/09(火) 17:53:08.61ID:ycuYR4Xv
質問失礼します
VersionError: The client version 0.52.3492 is too old. Please update to the latest package on PyPi:
と出てきました、調べたところThis library requires Python 3.8-3.12.と出てきたのですが

自分の使用バージョンはPython 3.10
pipも最新の24に更新済み、他にどこを直せばいいのでしょう
2024/07/09(火) 18:57:30.17ID:JSIA10ur
すみませんVSCodeのシンタックスハイライトについて質問です

シンタックスハイライトをPython仕様にしたいと思うのですがこんな感じで変えられますか?
とりあえず今のままではメソッドなのかクラスなのか変数なのか全くわからないのでどうもできません
https://i.imgur.com/l8UEuMt.png
2024/07/09(火) 19:06:47.56ID:w695tFt+
>>834
PyPiが古いんだろ
2024/07/09(火) 19:15:18.18ID:UDSzeDWm
とりあえずPython勉強してPython3エンジニア基礎試験に合格して、次の実践の勉強してるがつまらん
何か作った方が面白いが作りたいものもない
2024/07/09(火) 19:16:34.21ID:ycuYR4Xv
>>836
pypiとpipって同じじゃないんですか
調べいても違いを説明する結果が出てきません
2024/07/09(火) 19:42:17.96ID:w695tFt+
>>838
モジュールも全部最新なの?
それでも出るなら特定の組み合わせで動かないとかじゃないのか
840デフォルトの名無しさん
垢版 |
2024/07/09(火) 20:05:31.88ID:qs1jvts2
>>835
app = App()
app.func()

変数 = クラス
関数

色がないと判断ができない、というのは論外
小文字、大文字、ドットアクセスで見ろ

強いて言えば
foo.bar と書かれているときbarがメソッドかプロパティかわかりません という話ならまぁ…

まあでもシンタックスハイライトってjsonで設定してあって弄れるから好きにやりな
2024/07/09(火) 20:15:12.34ID:ycuYR4Xv
>>839
モジュール?
まだ全然わからないけどモジュールですね!ちょっと調べてみます
842デフォルトの名無しさん
垢版 |
2024/07/09(火) 20:18:31.83ID:qs1jvts2
AIとかをやろうとして、言われるがままに色んなものをガンガン入れてしまってる気がする
2024/07/09(火) 20:27:31.33ID:KaCb5RY5
>>837
自力で作れると思われる範囲に制限しなけりゃ作りたいものはあるだろ?
今時プログラミングなんて自分で手を動かす必要ない
AIに夢を語ってりゃそれっぽいものは簡単にできる
2024/07/09(火) 23:33:54.51ID:AsZE7u+u
>>835
Class が緑になってしまうけどこんな感じでいい?
これでいいなら拡張機能の「Python」を入れればできるけども

https://i.imgur.com/yfHsYvK.png

あと VSCode の配色テーマを Dark(Visual Studio) にしていると
拡張機能のシンタックスハイライトが効かなくなるらしい

https://qiita.com/ryutarom128/items/d52ec3db2d11b79599da
2024/07/10(水) 00:07:36.42ID:3j7FzYnK
色々調べた結果python側の問題とわかったので確認
python --version→python3.10
python3 --version→pythonとしかで来なく

python3.10がちゃんとインストールされてるのかpython3.10 --versionを実行した結果、python3.10℃は、内部コマンドまたは 部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていませ ん。と出てきました

とりあえずアンインストール後再インストールしてみますが
1月くらいまで何事もなく使えてたのにインストールされてませんみたいになることってよくあるのですか?
2024/07/10(水) 00:54:56.26ID:B0lLeabB
最新のpythonインストールしたんだろ
それで昔の環境が壊れたとかでおかしくなる
2024/07/10(水) 01:07:23.88ID:EF6Y7HgP
>>845
python3 --versionでPythonと表示されるのはwinの設定→アプリ→アプリ実行エイリアスがオンになってるから。これはMSストア版python用
公式版python3.10をインストールしてもpython3.10という実行ファイルが存在しないのは正常
2024/07/10(水) 01:59:30.87ID:5rHX5/PL
試行錯誤する前に拡張の説明や設定項目を確認しないのなんで
2024/07/10(水) 02:34:41.59ID:3j7FzYnK
みなさんありがとうございます
>>846
ID変わってたのでわかりにくかったのすみません>>834です最新では無いと思います


>>847
ということはpython側の問題ではないのですね再インストールしても無駄……?

>>848
今回はModalのセットアップから初めてるのですがそこで躓いてしまって
恐らくpythonに問題があるのかなと
850デフォルトの名無しさん
垢版 |
2024/07/10(水) 03:33:20.73ID:JKR4u2JY
modal要求バージョンより新しいpython入ってるせいで詰まってんじゃないの
2024/07/10(水) 08:41:03.90ID:0/GvnarD
>>850
Modalの要求バージョンは3.8~3.12
私が使っているのは3.10なので大丈夫だとは思うんですがもう一度使おうとしたプログラムのエラーメッセージを確認してきます
2024/07/10(水) 15:30:21.08ID:For1CkV4
だいぶ初心者だと思います
ttk.Treeviewのselection_setに関する質問なんですが

まず、やろうとしている事はビューアで
Treeview1 サイトから取得してきたWebページ一覧 選ぶと情報ダウンロード
Treeview2 ページの情報をダウンロードしたサイト一覧(実態としてはダウンロードフォルダにあるフォルダ一覧)
Treeview3 Treeview2で選んだフォルダ内に保存されている個別のページ情報一覧(実態としてはフォルダ内テキスト一覧)
で「Treeview2でフォルダを選び、Treeview3でファイルを選ぶと、ttk.Textに情報表示」はうまくいってます

この時
Treeview1に<<TreeviewSelect>>をbindし、ダウンロードした後Treeview2の内容を消去&フォルダ一覧再取得&表示する関数などを仕込んでいます(後述)
Treeview2も<<TreeviewSelect>>をbindし、Treeview3の内容を消去&選んだフォルダ(Treeview2)の中身を取得&(Treeview3に)表示する関数を仕込んでいます
(Treeview3も<<TreeviewSelect>>をbindし、ttk.Textの内容を更新する関数を仕込んでいますが、多分今回の質問には関係ないです)

問題はTreeview1から選んだ時で、選んだ時にダウンロードするだけでなく、落としたものを自動的にttk.Textに表示しようとしています
これもttk.Textの表示だけなら問題ないのですが、Treeview2とTreeview3も今ダウンロードした項目が自動的に選ばれた状態にしたいのですが、Treeview3だけうまくいきません
エラーメッセージすら出る事なく、何も選択されません(Treeview2は正常に選択されています)

長いのでレス分けます
2024/07/10(水) 15:30:59.95ID:For1CkV4
>>852続き

原因はおそらくですが、Treeview1にbindした関数内でTreeview2の項目を選択した時、自動的にTreeview2にbindされた関数も呼び出されますが
これの処理がTreeview1にbindした関数の後で実行されるせいで、最後にTreeview3がリフレッシュされているのだと思います
Treeview1の処理中に他のTreeviewを選んだ時「Treeview1の処理中断→Treeview2の処理→Treeview1の処理再開」になると思い込んでコードを書いていたのですが
たぶん実際には「Treeview1の処理完走後、トリガーされたTreeview2の処理」になっているのかなと思っています(テスト用のprintの表示順序などから推測)

最後にTreeview3もちゃんと選択されるようにするには、どうすればいいでしょうか?
Treeview1の処理中、Treeview2を一時的にunbindも試してみましたが、確かにunbindして必要な処理を補完すればちゃんと動くので原因は間違ってなさそうですが
再bindをTreeview1の処理中にしてしまうと、処理後に結局トリガーしてしまって無意味でした
854デフォルトの名無しさん
垢版 |
2024/07/10(水) 17:05:01.94ID:iit7nof0
ボタンは1回押したらロックするか
ブロック機構入れないと
連打したり、別のボタン押したりしたときに収拾つかなくなるで

たとえば
bind関数内の最初に、if treeviewselected:returnみたいなの書いて排他動作にするとかさ
2024/07/10(水) 18:37:27.41ID:For1CkV4
>>854
丁度それをやってみて正常に動いたところでした、ありがとうございます
やはりその辺の処理になるんですかね

ロック機構、確かに要りますね
趣味で場当たり的に作ってると、そういう構造的なノウハウとかは中々身につかなさそうですね……
856デフォルトの名無しさん
垢版 |
2024/07/10(水) 21:14:08.65ID:8aePid6X
GUIはGUI用のノウハウあるで、書きまくってたら身についていくよ
ロジックと表示系分離するとかもそうだしさ
2024/07/11(木) 00:14:02.11ID:gnKs0VpL
pythonでpyenv pipx poetry使えるレンタルlinuxサーバ知らん??
2024/07/12(金) 03:05:52.22ID:Fv9K4MWW
whisperを使ってみようと思ったんですが、次のコードでどうあがいても
FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。

import whisper

with open("./test.txt", 'r', encoding='utf-8') as file:
  content = file.read()
print(content)

uri = "./test.mp3"
model = whisper.load_model("small")
result = model.transcribe(uri, verbose=True, fp16=False, language="ja")

test.txtはちゃんと読み込まれて表示されるのに
resultのところでどうしてもファイルが見つからないと言われます
audio = whisper.load_audio(file=uri)
をresultの前に噛ませたりしても、ここで見つからないと言われます

絶対パスにしてもwavとかoggとか試しても無駄だし、拡張子消してももちろん無駄です
ファイルの位置を変えたり、全然違う場所の全然違う音声ファイルを読み込もうとしても無駄です
pipしなおしてもPC再起動しても無駄です
一体何が悪いのでしょうか
859デフォルトの名無しさん
垢版 |
2024/07/12(金) 03:18:10.13ID:6z6Lg9Zs
そもそもresult前に読んだパス認識してんの?
path.existsみたいなのしなはれ
2024/07/12(金) 03:55:38.40ID:Fv9K4MWW
>>859
とりあえずこれを直前に挟んでみましたがTrueでした
print(os.path.exists(uri))
ダミーにめちゃくちゃ入れたらもちろんFalseなので、result以外はちゃんと動いてるようなんですが
861デフォルトの名無しさん
垢版 |
2024/07/12(金) 04:14:19.09ID:6z6Lg9Zs
ffmpeg関係は?
2024/07/12(金) 05:06:05.29ID:Fv9K4MWW
>>861
すみません、それでした
解決しました、ありがとう
雑に使おうとして、基本的なところが抜けてました
2024/07/18(木) 21:35:07.90ID:atiQW+Xs
いまtkinterでGUIをMVCで作ろうとしてるんだけど
これウィジェット自身で完結する変数やメソッドはウィジェット側に書くわけじゃん
するとあるウィジェットに関係する変数やメソッドが、viewとcontrollerに点在することになるけどそれでいいのか?

全部無理矢理controllerに押し込んだら、こんどcontrollerが肥大化するけど、それはそれでどうなんだという気もする
2024/07/18(木) 23:22:50.39ID:61oenaL1
>>863
MVCは死ぬほどバリエーションがあるのでこれといって何が正解かとはかない
しかし成功しているモデルの一つであるiOSでのMVCを説明してみる
まずコントローラはモデルとビューを保持する
コントローラがユーザーからのイベントを受け取り対応するモデルのメソッドを呼ぶ
モデルのメソッドが呼ばれ状態を変更する
完了後にコントローラへ通知する
そしてコントローラは対応するビューを再描画する
正直古臭いがある程度成功しているアーキテクチャだ
2024/07/19(金) 05:30:02.76ID:QNeV9bba
vscodeでtomllib使って値読み込んでもpylanceが上手く型を認識してくれない(anyになる)んだけど
tomlって型付きじゃなかったっけ? おま環かこれ??
866デフォルトの名無しさん
垢版 |
2024/07/19(金) 05:40:24.28ID:+oFdaKCd
石丸伸二さん取材の最前線

「取材不足」さんのYouTubeチャンネル
https://youtube.com/@shuzaibusoku

「取材不足」さんのX(ツイッター)
https://x.com/shuzaibusoku7

石丸伸二さんは天才ですね!
2024/07/19(金) 06:02:53.03ID:2drNjBF3
>>865
どんなデータ読むかわからんなら静的解析できない
データの型が想定できるなら自前のエンティティクラスにいったん格納してみては?
健全にやるならバリデーションする
2024/07/20(土) 06:12:19.62ID:rQPoAcvH
Pythonで組んだ自動処理はレンタルサーバー使ってる?
869デフォルトの名無しさん
垢版 |
2024/07/20(土) 17:56:48.97ID:pd3T6vIK
>>868
日本語検定何級?

レンタルサーバーを使っているかどうかが先に評価する条件だろ?
870デフォルトの名無しさん
垢版 |
2024/07/20(土) 17:58:02.44ID:pd3T6vIK
>>865
バイナリーデータを扱うのに型が自動で決まる方が気持ち悪いだろ
2024/07/20(土) 18:30:49.82ID:rQPoAcvH
>>869
スレタイの通りなんだけど、なんで煽ってるの?
872デフォルトの名無しさん
垢版 |
2024/07/20(土) 18:44:11.27ID:pd3T6vIK
レンタルサーバーを使っているかどうかはここで聞かなくてもいいだろうに

初心者だとレンタルサーバーの存在を知らない可能性が高いと思うけどな。

レンタルサーバーならわざわざPythonを使う必要もない。
2024/07/20(土) 18:56:40.19ID:g11axyeV
>>870
でもパーサーは内部的にpython用の型に変換してるんだから、それを静的型チェッカに伝えるだけじゃねーのかなと思わなくはない
2024/07/20(土) 19:10:13.69ID:4S4L7THY
パーサーあるいはバリデータを通して特定の型に適合することがわかったらその型にキャストしてやればいい。
875デフォルトの名無しさん
垢版 |
2024/07/20(土) 19:39:36.45ID:pd3T6vIK
それだとデータがおかしくない前提の設計になる
876デフォルトの名無しさん
垢版 |
2024/07/20(土) 19:43:13.82ID:JfCCJ2ok
setdefaultencoding()
877デフォルトの名無しさん
垢版 |
2024/07/20(土) 19:43:43.52ID:pd3T6vIK
彼は単にTOML形式のファイルが間違っているだけの話をしているのかもしれない。
2024/07/20(土) 19:44:44.42ID:g11axyeV
>>875
データおかしかったらパースエラーでしょ
型チェッカが作動する以前で終わる話やん
879デフォルトの名無しさん
垢版 |
2024/07/20(土) 19:45:09.15ID:pd3T6vIK
決められたフォーマットでない設定ファイルを読み込んだときの動作は処理を止めるのが正しい実装。
880デフォルトの名無しさん
垢版 |
2024/07/20(土) 19:46:17.83ID:pd3T6vIK
>>878
本人の勘違いだろう
設定が間違っているのをライブラリの問題にしていると思われる
2024/07/20(土) 19:49:49.46ID:g11axyeV
>>880
読解力ゼロ民なん?
質問は、型チェッカーが型情報読めません で
それはそれで合ってる(型チェッカーは認知しないから)が回答で
付随して、パーサーは内部で型確定してるんだから、型チェッカーがそれ読みゃいいのにね って言ってるだけだろ
2024/07/20(土) 20:09:38.66ID:4S4L7THY
>>875
データがおかしくなければ問題なし、おかしければNG。それのどこに問題が?
883デフォルトの名無しさん
垢版 |
2024/07/20(土) 20:10:26.26ID:pd3T6vIK
彼は想定どおりのデータ型にならないと言っている
2024/07/20(土) 20:56:22.33ID:4S4L7THY
>>883

だから型チェックしたうえでキャストすればいいと言っているわけだが。
885デフォルトの名無しさん
垢版 |
2024/07/20(土) 23:13:59.91ID:3JBVPj+L
初心者に何一つ解決法を提示できない、あおる専門職が、また暴れているのか。
2024/07/20(土) 23:38:05.16ID:nWXlJ8rt
>>881
>付随して、パーサーは内部で型確定してるんだから、型チェッカーがそれ読みゃいいのにね って言ってるだけだろ
静的型チェッカーにプログラムを実行して外部TOMLファイルを読み込んでパースしてから型チェックしろと?
頭おかしくね?
2024/07/20(土) 23:43:19.64ID:n5damDMV
初心者です
Windows とmacで全く同じ環境を用意してもvscodeでjupyter が使えるのはmacだけで困っています。

ryeで環境構築していてpythonのバージョンは3.7〜3.12それぞれで試しました
ライブラリはrye add jupyterのみ
Vscodeの拡張機能はpythonとjupyter

Macでは問題ないですが、Windowsでipynbを実行すると”connecting to kernel“から進みません
pyファイルで#%%を用いても同じです
カーネルの指定はしています

今はしょうがないのでwindowsではjupyterlabを起動して使っています
ライブラリのバージョンとwindowsの相性が悪いんですかね…?
2024/07/20(土) 23:54:41.64ID:NXGRRfPo
初心者でryeなんて非標準なツールつかうから切り分けできなくなる
2024/07/21(日) 00:10:32.64ID:H6hpsSWg
>>869
え?これ何?低学歴知的障害朝鮮人?
2024/07/21(日) 00:19:47.32ID:7gp2nlNY
さすがにこの自演は恥ずかしいw
2024/07/21(日) 04:12:49.88ID:6bp7hRiy
>>888
解決しました!分かりやすい解説ありがとうございます!
2024/07/21(日) 10:56:10.38ID:6bp7hRiy
質問しておいて解決しましたとだけ書くのも失礼なので…
pyvenv.cfgの中の指定のpython を変えたら解決しました。
つまり標準のpythonをryeのものにしているのがwindowsのjupyterではよくないようです。
仮想環境でごちゃごちゃやった感じではセキュリティの問題っぽいのでそっちいじればなんとかなりそうですが…
結局macではvscodeを使ってwinではjupyterlab使うことにしました
お騒がせしました
2024/07/21(日) 14:59:38.69ID:AhhCkcZ5
なんかお前一生環境構築してない?
2024/07/21(日) 15:04:29.78ID:AhhCkcZ5
プログラミングできないやつに限って環境だけ作って満足するやつはスゲー多いんだよな
結局何も書けないからやることがないというw
2024/07/21(日) 15:13:06.46ID:6bp7hRiy
>>894
FDTD法やってます!
今は高速化目指してます💪
2024/07/21(日) 15:52:43.89ID:AhhCkcZ5
>>895
そんなんやってる奴が初心者なんだ?
2024/07/21(日) 16:38:54.61ID:XlsTZxiY
>>896
はい!
2024/07/21(日) 16:43:16.67ID:AhhCkcZ5
>>897
フフッ
899デフォルトの名無しさん
垢版 |
2024/07/21(日) 17:57:12.44ID:XSmlH7W8
質問にも答えず初心者を煽ってさらには返り討ちに合うスレですか…
2024/07/21(日) 18:03:02.20ID:AhhCkcZ5
>>899
だいぶ効いてるみたいだな
901デフォルトの名無しさん
垢版 |
2024/07/23(火) 01:22:30.39ID:Rfg4Mjqa
>>893-894
昔の自称emacs使いにもそういうのがいたで
2024/07/23(火) 07:36:07.88ID:Uu3M5VDt
今はVSCode使いがそれだな
何でもVSCodeでやろうとして詰んでは暴れまくる
メモ帳でいいんだよPythonなんて
2024/07/23(火) 07:43:39.89ID:x/ET989s
vscodeの拡張はelispみたく手軽に始められないから秩序は保たれてる印象
2024/07/23(火) 09:37:49.97ID:HQr1sgjB
>>902
極論それ
環境云々よりまずコードをかけることが大事だからな
環境など後からいくらでも凝ればいい
2024/07/23(火) 09:47:38.48ID:n9YZQASq
まず書けるようになるためにはデバッガの有無は大きいと思うが
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況