Pythonのお勉強 Part66

レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ 9f02-4fXk)
垢版 |
2021/11/15(月) 18:59:43.37ID:f2uNQEAt0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/

〇前スレ〇 Pythonのお勉強 Part65
https://mevius.5ch.net/test/read.cgi/tech/1621749112/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2022/05/14(土) 09:15:07.14ID:M4U6Kwpw0
>>882
抽象的ってどういうこと?
2022/05/14(土) 09:28:44.78ID:PIoNYaJwa
マルチスレッドは並行動作させる仕組み
await/asyncは並行動作させるための記述方法
2022/05/14(土) 10:23:45.32ID:M4U6Kwpw0
言語機能かライブラリかってことか
当然async/awaitのほうが性能はいいわけだな
2022/05/14(土) 10:40:14.07ID:jSA3rKOXa
>>885
そんな話はしとらん
2022/05/14(土) 10:55:58.27ID:/95bir/q0
async awaitはシングルスレッドでCPUリソースを有効活用する仕組み、
マルチスレッドは実装によっては複数コアで実行される可能性がある、
じゃね?
で、CPythonはマルチスレッド対応がイケてないからマルチプロセッシングやasync awaitのほうが早い、と
2022/05/14(土) 11:12:36.39ID:M4U6Kwpw0
async/awaitってシングルスレッドなのか
それじゃ根本から全然違うな
2022/05/14(土) 11:19:02.13ID:jSA3rKOXa
単に非同期なだけで、下のスレッドの使われ方は言及しない
大抵の実装はマルチスレッド使うんじゃないか?
2022/05/14(土) 11:35:19.17ID:M4U6Kwpw0
並行処理のところは実装依存てことか
async/awaitのほうがスレッドより早いのも実装によるってことかな
早いなら使ってみるけど
2022/05/14(土) 11:46:36.70ID:XO4cGfGE0
シングルスレッドかマルチスレッドかは処理の切り替えの効率だけの話で、
CPUが具体的にどうなってるかまで考えてコード書かない
2022/05/14(土) 11:48:41.98ID:Bl8gIrrF0
プログラミングスタイルのちがいだからそこ
両方つかえばすぐわかると思うけど頭でっかちになってる
2022/05/14(土) 11:49:43.80ID:Bl8gIrrF0
>>892
文脈からマルチスレッド=threadingと思ってるとした前提
2022/05/14(土) 12:00:04.45ID:/95bir/q0
>>889
マルチスレッドで動かすためにはプログラマ自身がクリティカルセクションとかアトミック処理とかマルチスレッドで動くことに気を使わないといけないけど、async awaitでそんなコード見たことないよね?
マルチスレッドで動かしはじめたら世間が大混乱するからasync awaitをマルチスレッドで実装している処理系なんて一つもないと思うよ
2022/05/14(土) 12:08:53.97ID:XO4cGfGE0
干渉を気にしないといけないのはマルチプロセスなのでは?
2022/05/14(土) 12:13:43.53ID:GFQtpQmSM
マルチスレッドでも変わらないよ。
手書きしたスワップ処理をマルチスレッドで動かしたときのことを考えてみて
2022/05/14(土) 12:27:08.85ID:jSA3rKOXa
>>894
馬鹿なんでは…
マルチスレッドと排他処理でみんなしこしこ書いてるわけでしょ
2022/05/14(土) 13:02:49.29ID:M4U6Kwpw0
>>892
おれはJavaScriptも書くからasync/awaitには馴染みがある
ただPythonのasync/awaitは色々覚えることが多い気がする
2022/05/14(土) 15:34:48.59ID:TFzn0YZeM
>>889
自動で複数スレッドを使うような実装も可能だろうけど
PythonはGILがあるから1プロセスで複数タスクを並列実行はできないので基本みんなシングルスレッド

asyncioやtrioでもブロッキングなAPIをawaitできるようにするのにスレッドを使うけど
自動じゃなくてプログラマが別スレッドを使うように指定する
2022/05/14(土) 15:55:29.78ID:DJFcmjHSa
>>899
マルチスレッドだよ
単に同時に動かんだけで
なんか言葉の使い方変だよ
2022/05/14(土) 16:04:59.45ID:XO4cGfGE0
ProcessPoolExecutor だと複数プロセス動く
902878 (ワッチョイ 0f5f-hFP2)
垢版 |
2022/05/14(土) 16:39:07.81ID:Sh1ZlMqp0
本日テストをしましたが状況変わらずです。

lodlibrary(pythondll) failed

こちらでググりまくりましたがしっくりくるものなしです。
python 2.7では
903デフォルトの名無しさん (ワッチョイ 230c-yvGd)
垢版 |
2022/05/14(土) 17:09:04.91ID:Z9o6dlRH0
ConfigParser, md5, yamlはインストールした?
>pip install configparser
同様に md5, yaml も。」
904デフォルトの名無しさん (ワッチョイ 230c-yvGd)
垢版 |
2022/05/14(土) 17:31:05.25ID:Z9o6dlRH0
2.7.18インストールして確認中。
ごめん。yamlはソースにある通り
http://pyyaml.org/wiki/PyYAML
から2.7用をインストールして。
905デフォルトの名無しさん (ワッチョイ 230c-yvGd)
垢版 |
2022/05/14(土) 17:39:51.00ID:Z9o6dlRH0
必要なのはyamlだけでした。他は大丈夫。2.7.18で確認。
2022/05/14(土) 17:55:05.18ID:RctUCGjO0
>>902
もしかしてdistにexe以外も出力されてるのにexeファイルだけ本番環境に持って行ってる?
それだと単独ファイルにしたいならsetup.py書き換えないと
907デフォルトの名無しさん (ワッチョイ 0f5f-hFP2)
垢版 |
2022/05/14(土) 18:06:44.64ID:Sh1ZlMqp0
pipのインストールでエラー出ていないためno moduleのため(b)実行

その後にinstall ConfigParserで下記です

ERROR: Could not find a version that satisfies the requirement ConfigParser (from versions: none)
ERROR: No matching distribution found for ConfigParser

これも適正なバージョンがあるのでしょうか
908デフォルトの名無しさん (ワッチョイ 230c-yvGd)
垢版 |
2022/05/14(土) 18:49:50.06ID:Z9o6dlRH0
ごめんて。confipaserとmd5はインストール不要。
yamlだけ上記URLからダウンロードしてインストール。
909デフォルトの名無しさん (ワッチョイ 0f5f-hFP2)
垢版 |
2022/05/14(土) 19:22:11.28ID:Sh1ZlMqp0
ご指摘の通り、distをみると何やらlibrary.zipも更新されていたため、持ち込みすると
確かにエラーはなく瞬時に終了。

ただし、このPGMはメッセージを表示するので何か不足してするっとしてる模様です。
今度は原因追及のためのデバッグでしょうか・・・
2022/05/14(土) 19:52:40.03ID:+KadxVti0
>>900
マルチコアCPUが普通だから、欲しいのは
同時に動かんマルチスレッドではなく
同時に動くマルチスレッドだからな。

Ruby、JavaScriptと言った他のスクリプト言語でも
同時に動かんマルチスレッドなのかな
911デフォルトの名無しさん (ワッチョイ 230c-yvGd)
垢版 |
2022/05/14(土) 19:57:24.63ID:Z9o6dlRH0
>>909
yamlはインストールした? pipからじゃなくて、ソースに書いてあるURLからダウンロードしてインストールだよ。
インストール後、exeを再作成した?
912デフォルトの名無しさん (ワッチョイ 230c-yvGd)
垢版 |
2022/05/14(土) 20:00:21.13ID:Z9o6dlRH0
https://www.python-izm.com/third_party/executable/py2exe/
stup.py に 'bundle_files': 1 と書いてあれば単一ファイルになるのでlibrary.zipは不要。exeのみの持ち込みでOK。
913デフォルトの名無しさん (ワッチョイ 230c-yvGd)
垢版 |
2022/05/14(土) 20:02:05.32ID:Z9o6dlRH0
コマンドプロンプトで該当.pyファイルのあるフォルダーに移動。
> python ~.py
で表示されるエラーメッセージは?
2022/05/14(土) 20:06:53.07ID:XO4cGfGE0
マルチコアが活きるのは膨大な計算量の必要なかなり限定した用途だけで、
PCが重い原因は普通はI/Oが詰まってるだけだから、
待ち時間を無くすだけで高速化する
2022/05/14(土) 20:15:55.36ID:jzLnji7p0
計算量が重いならPythonを使うべきじゃない
2022/05/14(土) 20:16:11.96ID:xesr1KoTa
>>910
割と同時に動かんよね
まず需要があるのは非同期とかノンブロッキングってことだよね
2022/05/14(土) 20:37:14.90ID:+KadxVti0
>>916
pyrthon(スクリプト系言語?)で需要があるのはそれらで、
同時に動くマルチスレッドは需要があんまりないということで
Pythonの実装が楽な(?)同時に動かんマルチスレッドでいいやなんかな。
一方、C/C++と言ったバイナリを生成する言語なら同時に動くマルチスレッド
が出来るからな。まぁ、言語によって需要が違うからこうなるんだろうが。
2022/05/14(土) 21:09:13.65ID:snZyUFUoM
>>910
RubyもGILあるからPythonと同じ
JavaScriptは同時に動くけど起動や受け渡しのオーバーヘッドが大きいから
重いCPUバウンドな処理にしか使わない
2022/05/14(土) 21:52:06.99ID:+KadxVti0
>>918
そうなのか
>JavaScriptは同時に動くけど起動や受け渡しのオーバーヘッドが大きいから...
スクリプト系言語でも出来るようにすることはできるが、こんなもんになるから
使う用途が限られるってことか。
Pythonで同時に動くマルチスレッドを実現しても、スレッド間の受け渡しのオーバーヘッドが大きいとなると
マルチプロセスと変わらないからな
2022/05/14(土) 22:33:29.74ID:K0T2aHl10
教えてください
❕のosコマンドを読み込む方法を。

VSCode editorでJupiterの拡張子ipynbをローカルで実行するとき、!lsはエラーはかない
拡張子pyだと
!lsがエラーになる
.pyだと❕はことごとくエラーになる
windowsでAnacondaで作成したPython環境です
2022/05/14(土) 23:16:29.05ID:xesr1KoTa
javascriptこそ基本的にシングルスレッドやろ?
ばんばん割り込み使うけど
Web WorkderAPIとかいうのあるらしい
2022/05/15(日) 09:07:10.14ID:znmAnpzRH
JSはsetTimeoutとか使うと別スレッドであとでやってくれるんじゃないの?
2022/05/15(日) 10:02:05.44ID:PVwd+Za60
ネイティブとグリーンなスレッドを区別せんと話が交錯する
コンテキストの維持にネイティブスレッド利用してる実装はあるかもしれんけど
ややこしくなるから並列でスケジューリングはしてないはず
2022/05/15(日) 10:36:17.87ID:mtu4G8vxM
>>922
タイマー自体がホスト環境で実行されるだけでJSの実行スレッドはシングルスレッド
タイマー経過しても他の処理が実行中なら終わるまでコールバック関数は待たされる
2022/05/15(日) 12:41:52.49ID:jVQ55S+ha
>>923
でも真の並行動作が必要になる話もしとらんわけでどっちでもいいのでは
2022/05/15(日) 21:04:51.49ID:zhjKYdu2a
ngramを作りたいのですが文章が以下のようなlistで表されています
何かいい方法ありますか?

[’あいう’, obj, ’えお’]
ほしい結果 ('あ', 'い'), ('い', 'う'), ('う', obj), (obj, 'え'), ('え', 'お'),
2022/05/15(日) 21:11:11.14ID:AiBNhIbA0
全体を1つのリストにする
2022/05/15(日) 21:55:10.13ID:bRvN5HCO0
>>926
フラット化すれば後は簡単だと思うんだけどリスト直下の文字列以外は無視したのでいいのかな?
ネストしたものを考慮するかどうかで少し変わってくる

['あいう', 123, 'えお', ['か', ('き', 'く')], 'け']
2022/05/15(日) 22:44:35.48ID:bRvN5HCO0
両方書いてみた
https://ideone.com/2enXYU

リストをフラット化したり、1個ずらしで2個ずつとってきたりする機能は
toolz, more_itertools, numpyあたりに用意されてるからそれらを使ってもいいと思う
2022/05/16(月) 00:40:08.91ID:49LvMWE9a
>>929
ありがとうございます!
ネストは考慮したくないので単純にフラットにしたので期待した操作ができました!
931デフォルトの名無しさん (ワッチョイ bbb1-3gAf)
垢版 |
2022/05/16(月) 20:37:02.35ID:dlvbRMBp0
>>929
普段からこの手の処理を書いてるの?
読んでけば理解できるが、ゼロから書けと言われたら書ける気がしないw
python特有なのかな?

多分自分が書いたら全く違う処理になりそうだよw
2022/05/16(月) 21:01:23.03ID:3PzofzKC0
teeが特殊
2022/05/17(火) 19:10:53.17ID:gaF/x0PY0
Ruby で書くと、

input_ary = [ "あい", 123, "お" ]

ary = input_ary.map do |elem|
# 文字列型なら、各文字を要素とする配列に変換する。
# "あい" なら、[ "あ", "い" ] となる
if elem.instance_of?( String )
elem.chars
else
elem
end
end
p ary #=> [ ["あ", "い"], 123, ["お"] ]

ary.flatten! # 配列を再帰的に平坦化する
p ary #=> [ "あ", "い", 123, "お" ]

result = ary.each_cons( 2 ).map( &:itself )
p result #=> [ ["あ", "い"], ["い", 123], [123, "お"] ]
934デフォルトの名無しさん (ワッチョイ cd01-Q+cg)
垢版 |
2022/05/18(水) 19:39:11.84ID:WYlOj8bL0
pysparkの動作速度。
誰かsparkつかってない?
教えてほしいんだが。
2022/05/18(水) 22:14:37.48ID:EJAEOBmF0
>>934
DBからのデータ取得は早いし大容量扱えるけど、その他は遅い印象(スペック引き出せてないだけかもだけど)
ググってもあんまり引っ掛からないしイマイチ
2022/05/18(水) 23:01:46.53ID:C6Pto4/B
def add(x: int, y: int) -> int:return x + y
アノテーションってエラーは吐いてくれないので
エディタやmypyなどでチェックするしかないですが
有名なフレームワークだと同じように書いた場合、エラーが出てくれますよね
あれは一体どういう仕組みなのでしょうか?
@app.get("/id/{id}")
def get(id:int):return id
的なやつです
functoolsのsingledispatchみたいな感じだと思ったので
要は引数の型アノテーション(コロン以下)を取得できればオーバーロードできるのではと思い
ソースみましたがさっぱりです・・
2022/05/18(水) 23:18:00.65ID:C6Pto4/B
レス直後改めてソース見たらそっこー見つかりました・・
__annotations__でいけました
解決はしていませんが。。
intとかだと引数と__annotations__をif文で比較すればいいのでしょうが
typingとか複雑なスキーマだった場合どうやっているのでしょうね
938937
垢版 |
2022/05/19(木) 11:55:39.36ID:7Ok4WfXJ
とりあえずFastAPIはpydanticのBaseModelで実装していることはわかりました
そのpydanticはtypingのForwardRefを使っていて
BaseModelでは__annotations__周りのコードがかかれており、ForwardRefでBaseModelのメソッドから評価しているのかなと思いました
結局、どのように評価しているのか根本的にはわかりませんでしたがBaseModelを使って型アノテーションの例外チェックをしているみたいです
from pydantic import BaseModel
class Model1(BaseModel):
a: int
class Model2(BaseModel):
a: str
print(Model1(a="1"))
#print(Model1(a="a"))
print(Model2(a="1"))
print(Model2(a=1))
#print(Model2(a=[]))
2022/05/19(木) 12:22:04.51ID:zcQaUz9ta
Python公式

Python 3.9.13 is now available
Python 3.9.13 is the final regular maintenance release.
2022/05/19(木) 14:02:10.03ID:zcQaUz9ta
バージョン,リリース日,サポート期限
3.7,2018年6月27日,2023年6月
3.8,2019年10月14日,2024年10月
3.9,2020年10月5日,2025年10月
3.10,2021年10月4日,2026年10月

バージョン確認方法
import sys
print(sys.version)
941デフォルトの名無しさん (ワッチョイ cd01-Q+cg)
垢版 |
2022/05/19(木) 14:23:05.37ID:uNWrRU3r0
>>935
ありがとう。
ではcudaの方が良い感じですか?
どうでしょうか?
2022/05/19(木) 14:30:27.30ID:KbRVZ9gAM
CUDAは単独ではSparkのように複雑な処理やデータフローを組めないし、
SparkはCUDAのように高速な行列計算を行えない
車とエンジンを比較してるようなもん
2022/05/20(金) 09:55:57.41ID:tr3h1nsfH
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense,Activation
model=Sequential()
model.add(Dense(10000,input_dim=100))
model.add(Activation('relu'))
model.add(Dense(10000))
model.add(Activation('relu'))
model.add(Dense(10000))
model.add(Activation('relu'))
model.add(Dense(100))
model.add(Activation('softmax'))

というモデルがあったとします。
こうして得られたモデルのパラメータをわけあってちょっとだけ手動でいじって別のモデルに使いたいと考えています。
・パラメータをprintする方法
・別のモデルに手動で初期パラメータを設定する方法
を教えてください。
2022/05/20(金) 12:59:55.38ID:pMqfz0XLr
modelの.wetghtsとかで取り出せなかったっけか
2022/05/20(金) 14:13:12.03ID:iVTE9VAz
みなさんはもし漫画を描くことができたらpythonで何をしますか
2022/05/20(金) 14:20:43.14ID:3FWyk7VWH
>>944
ありがとうございます
取り出しは行けました
別のモデルに手動で初期パラメータを設定するのは何かメソッド等ありますか?
2022/05/20(金) 14:58:22.19ID:cuRf9eeIH
すみません、自己解決しました
get_weightsとset_weightsがあるようです
2022/05/21(土) 13:37:02.16ID:8Ju6XIuB
予定をデータベースに登録するとき
ざっくり
・予定の内容
・予定の期間(始まりの日付け、終わりの日付け)
がありますが
始まり(start)と終わり(end)をdatetime型で管理するときにふと疑問に思いました

(1)始まりを指定しない or (2)終わりを指定しない
場合です

予定表の場合は、
(1)は登録するときのジャスト現在時刻を登録すればいいと思いますが
(2)はどうすればいいでしょうか
ようは有効期限と同等だと思いますが
100年先とか適当な感じでいいのでしょうか?
そういうときのためのdatetimeの機能とかあるのでしょうか
2022/05/21(土) 13:49:38.07ID:x3bK44aYM
ユースケース次第と思うけど、datetime.datetime.maxでも入れとけば
2022/05/21(土) 13:58:12.12ID:SHDUAMhd0
既存の型だけでやりくりしようとしないで、必要に応じて細かいクラスをどんどん作る
2022/05/21(土) 14:00:53.61ID:8Ju6XIuB
>>949
なるほどdatetime.maxなんてあったんですね
>>950
フロントでdatetime形式で渡してそのままバリデーションしてそのままDBに突っ込めるのが便利すぎて・・

ありがとうございました
2022/05/21(土) 14:10:19.78ID:RTc6KxVS0
ふつうにNULLでいいと思うが
2022/05/21(土) 14:15:23.59ID:8Ju6XIuB
NullだとDBで範囲検索するときうまくいきますかね?
やってないのでわかりませんが
予定表の場合だと範囲検索は
・現在の予定
・○月○日の予定
くらいがあったら便利かなと思いますが
Model.end>現在時刻
でendがNULLの場合をインデックスしてくれているのだろうか
2022/05/21(土) 14:35:41.88ID:8Ju6XIuB
・start有りend有り
・start有りendヌル
しかないので、NULL除外してstartのみAND検索すればよさそうですね
startとendカラムが別なのでコードは増えそうな気はしますが。
あとフィールドにnullableパラメータとかあってNULL許可できるみたいですね
とりあえずは速度重視ではないので最大値入れとこうかなと思います
ありがとうございました
2022/05/22(日) 06:20:31.09ID:lhLxdVoY0
pytorchってGPU使えますか?
無理ならtensorflowへの移植は技術的に可能ですか?
2022/05/22(日) 07:24:00.43ID:gxbk5u350
使えるよ
957デフォルトの名無しさん (ワッチョイ 8b01-x6BW)
垢版 |
2022/05/22(日) 12:41:56.07ID:Vvp14yjP0
>>942
cudaとsparkの両方は使えるのでしょうか?
2022/05/22(日) 20:49:32.75ID:zMH227GC0
VSCodeでPython使ってるんですが、
書いた.pyファイルをVBSから実行したいです
現状VBSでRunすると、VSCodeが立ち上がってしまいます
立ち上げずにスクリプトだけ実行するにはどうしたらいいでしょうか?
2022/05/22(日) 22:02:55.40ID:ogbPljd8M
run "*.py" を run "python *.py"にしてみたら?
960デフォルトの名無しさん (ワッチョイ 9768-UZt5)
垢版 |
2022/05/23(月) 14:13:45.73ID:LMDaYFlt0
例えばソースファイルmain.pyとsub.pyに分割すると、
mainからsubのモジュールを呼ぶと、sub.pycというファイルが生まれてしまいます。
ソースファイルの数だけ生まれるので、作業ディレクトリ圧迫されて、凄く邪魔です。
pycを生まれないようにするには、やはり分割せずにmain.pyに全部ソース書くしかないでしょうか?
2022/05/23(月) 14:21:38.20ID:1ZLz7aPq0
-B
2022/05/23(月) 14:21:40.70ID:j4WhKttLM

https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPYCACHEPREFIX
2022/05/23(月) 16:04:35.33ID:nk4O2XgB0
selenium使ってローカルなTLS1.0にアクセスしないといけないんだけど
最近ブラウザだとacceptInsecureCertsだけじゃもう通過出来なくなってるんだね
2022/05/23(月) 18:06:00.52ID:nlhWOO8h0
ここ、練習の出題とかもいいの?
965デフォルトの名無しさん (ワントンキン MM8a-XROD)
垢版 |
2022/05/23(月) 18:20:03.35ID:S7TTGh8zM
質問です。
Mac OS 10.12.6で、
Homebrew
pyenv
python3.8.12
をインストールして、

pyenv global 3.8.12
を入力しても、
パージョンが3.8.12
になりません。

最初から、もう一度やり直したいのですが、
インストールしたプログラムをアンインストールするだけで良いですか?
それ以外にしなければいけない事があれば
何をしなければいけないのか教えて頂けませんか?

よろしくお願いいたします。
2022/05/23(月) 20:23:35.69ID:QUIvXWU50
>>965
reinstallしてみたけどボトルに説明ないタイプやね
開発ツールだからREADME読まないアホのケアまでしてないぽい
2022/05/24(火) 01:54:54.53ID:Q5cvQH+R
サイトAがブラウザのクロスオリジン許可されていないので
自前のフロントエンド(javascript)からサイトAのAPIを使用することができません
なので対策として
自前で用意したサイトBのpythonのrequestsなりで、サイトAのAPIをfetchするようなサイトBのAPIを用意し
そのサイトBのAPIをフロントエンド(javascript)から叩いて
間接的にサイトAのレスポンスを取得することにしました
こういうのに特化したウェブアプリケーションフレームワークって無いでしょうか?

FlaskやdjangoやFastAPIとかでもちろん良いのですが
結局テンプレートエンジンを使うことになるのでサイトAの情報を間接的に取得するために用意しました感が強くて・・
理想的なのはstreamlitです
streamlitはすべてpythonでコーディングできるのでかなり理想的なイメージと近いです
例えば急にサイトAがクロスオリジン許可しました、となっても作ったものは無駄になりません。
しかし痒いところに手が届きません(reactと連携はできるものの)。
968965 (ワンミングク MM8a-XROD)
垢版 |
2022/05/24(火) 12:44:22.77ID:Nxyvd0exM
>>966
レスありがとうございます。

アホのケアしてないのは問題ではありませんが、
reinsttallを想定して、すべての設定などをオーバーライドするように作ってない方もアホの仲間ですねw
2022/05/24(火) 12:53:10.36ID:5H49uhzer
皆さんはpythonの組み込み関数の使い方を全部覚えるのに何時間かかりましたか?
2022/05/24(火) 13:05:26.82ID:TKQBzDOBa
おぼえてない
2022/05/24(火) 13:06:15.95
一通り目は通してるけど名前くらいをぼんやり覚えている程度
「こういうことやりたいな」というときに
「そういえばまさにそいういうの見たことがあったな」
で、改めてドキュメント調べる
探し物をしているときに、そもそもその探し物自体があったかどうかがわからないと
一生見つからないのでそういうときは他人に聞く
2022/05/24(火) 13:10:27.48
ライブラリ使うときも実践しなくてもいいので公式ドキュメントに一通り目を通しておいたほうがいい
あとあと「こういう機能ないのかよ・・」にかかる時間が無駄
ただそんなことしなくても、ぐぐれば一発で見つかることもほとんどだし
目を通すと言っても、チュートリアル、メソッド名・要約をチラッとみる程度
2022/05/24(火) 13:32:51.03ID:SBh7n6X/0
ちらっと見て、なるほど何かに使うのか判らん、で済ますと
必要な時になっても思い出せない
2022/05/24(火) 14:05:19.75
ドキュメントみるとわかると思うが
大抵の場合は何に使うかのスペニットくらいは添付してあるよ
それみてもわからんって場合ももちろんあるが
それは後発での詮索と学習スピードとのトレードオフな気がする
2022/05/24(火) 14:08:43.31ID:SBh7n6X/0
スペニットでぐぐると結構見つかるな
976965 (ワンミングク MM8a-XROD)
垢版 |
2022/05/24(火) 15:27:35.60ID:Nxyvd0exM
再インストールする前に、
原因を調べようと思います。

カレントディレクトリの位置によって
表示されるpythonバージョンが変わります。

xxxxxxx-no-MacBook-Air:~ xxxxxxx$ python3 --version
Python 3.8.3
xxxxxxx-no-MacBook-Air:~ xxxxxxx$ cd /usr/local/bin/
xxxxxxx-no-MacBook-Air:bin xxxxxxx$ python3 --version
Python 3.8.12

<質問>
(1)カレントディレクトリの位置によってバージョンが変わる原因は
 何が考えられますか?
(2)python3.8.12が、下記のディレクトリのどちらにもありません。
~/.pyenv/shims/
/usr/local/bin/
 どこにあるのでしょうか?
2022/05/24(火) 15:39:51.67ID:ZizwD7Xq0
>>976
ある意味その(1)を行うためのツールなんだけどな
https://github.com/pyenv/pyenv#understanding-python-version-selection
README読みたくないマンなの?
2022/05/24(火) 21:04:41.90ID:DOf3/3bW0
パッケージとライブラリって何が違うんですか?
2022/05/24(火) 21:18:31.54
ライブラリ
├パッケージ1
│ └モジュール1.py、モジュール2.py、、、
├パッケージ2
│  └モジュール1.py、モジュール2.py、、、


$ pip install ライブラリ名

sample.py
#import ライブラリ名
from ライブラリ名 import パッケージ名
#from ライブラリ名.パッケージ名.モジュール名 import メソッド名,変数名,クラス名など

print(パッケージ名.変数名)
print(パッケージ名.メソッド名())
print(パッケージ名.クラス名.メソッド())
2022/05/24(火) 21:20:17.42
訂正 >>979
print(パッケージ名.モジュール名.変数名)
print(パッケージ名.モジュール名.メソッド名())
print(パッケージ名.モジュール名.クラス名.メソッド())
2022/05/24(火) 21:24:27.81ID:SBh7n6X/0
pipのpはパッケージなのにインストールするものはライブラリ
2022/05/24(火) 21:47:09.17ID:ZizwD7Xq0
パッケージはPythonの言語機構で固有の定義があるけど
ライブラリは一般的なプログラム・データの塊という以上の意味はない(たぶん)
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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