[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/23 11:57 / Filesize : 297 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました



1 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 01:38:10.93 ID:GepmXCuJ.net]
当スレに★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/      ほぼ直

2 名前:感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

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

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

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
mailto:【まず1嫁】くだすれPython(超初心者用) その56 []
[ここ壊れてます]

3 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 16:38:48.09 ID:5EmWEway.net]
>>1
スレたて乙です。

すみません。前のスレの最後の方に質問させていただいたものです。
前のスレに続いて相談させて下さい。

私のやりたいことは、抽象的な説明になりますが、webからとある情報を取得してきて、それらを色々と解析することです。
その為、以下の構成を考えています。
- webから情報を取得して、オブジェクトにして返すライブラリ(1個)
- 上記のライブラリを利用して情報を取得し、解析を行い結果を表示するコマンドラインのアプリ(複数個を予定)

その為、ディレクトリ構成は以下を考えています。
- weblib(Webから情報を取得して、オブジェクトにして返すライブラリ)
-- weblib
--- web_accessor.py
--- data_type.py
-- tests
--- test_web_accessor.py
--- test_data_type.py
- commandline1(コマンドラインのアプリ)
- commandline2(コマンドラインのアプリ)

上記のcommandline1,2の内部の構成をどうすべきかよくわかりません。
また、前のスレでコメントいただいておりましたが、自作のライブラリの参照方法も何がベストなのかわかっておりません。

よろしくお願いいたします。

4 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 17:01:38.22 ID:3oj0wwuR.net]
weblib/__main__.py
weblib/commands/command1.py
weblib/commands/command2.py
weblib/web_accessor.py
weblib/data_type.py

とかやる
DjangoやScrapyのような大御所フレームワークでプロジェクトを作ると概ねこのようね構成になる
command1やcommand2はサブコマンドとして定義する

5 名前:デフォルトの名無しさん [2021/12/27(月) 17:08:01.54 ID:RQJfeX+1.net]
git cloneしてきて、pip install -e .できるようにパッケージ化するのかいいよ
そうすれば、普通にimportするだけで使える

6 名前:デフォルトの名無しさん [2021/12/27(月) 17:09:15.95 ID:RQJfeX+1.net]
結局はデプロイ方法の話だよね?違う?

7 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 17:37:15.70 ID:5EmWEway.net]
>>3
なるほど。
コマンドラインアプリ程度ならば、ライブラリと一体化させ、複数の命令があっても、サブコマンドとして実装するのが正解かも知れませんね。

>>4
すみません。個人で使いたいだけのライブラリもpip等を意識すべきでしょうか?
3rdパーティーのライブラリを使うのにpipは非常に便利なのですが、自作するとなると勉強が必要そうに感じました。

>>5
すみません。私はおそらくpythonでのデプロイの意味が理解出来てないです。
個人でのみ利用するライブラリとアプリケーションを作成する場合のソースコードの構成が知りたいです。
アプリケーションがコマンドライン程度の場合、>>3さんの提案が良い様な気もしていますが、いかがでしょうか?

8 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 18:34:46.34 ID:mNLCsv7t.net]
1.command1を実装するためにweblibで不足を補ったり編集作業をしてcommand1完成
2.command2を実装するためにweblibで不足を補ったり編集作業をしてcommand2完成
3.command1と2完成したはずなのにcommand1が動かない。その原因は2のweblib編集作業
4.command1が動くように修正したら今度はcommand2が不具合抱える
(以下無限ループ)

なんて初心者が陥りがちな罠あるからなw
ライブラリ化やパッケージ化できたらいいし、そうやるのが理想だけど
フォルダ構成の勉強したいとかじゃなく動くものを作りたいだけなら何も考えずに必要なファイルをコピーコピーで二重、三重に抱えるのも手だよ

9 名前:デフォルトの名無しさん [2021/12/27(月) 19:34:55.86 ID:bZjwTURQ.net]
>>6
知ってるとは思うけど、pipはローカルに落としてきたファイルにも使える
そうすれば、そういうことで悩む必要はなくなる
絶対そうするべきとまではいうつもりもないし、あくまで選択肢の一つとして挙げただけだよ

10 名前:8 [2021/12/27(月) 19:37:59.09 ID:bZjwTURQ.net]
ローカルにというかPiPIを介さずにと言いたかった



11 名前:デフォルトの名無しさん mailto:sage [2021/12/30(木) 23:48:26.78 ID:1PjrU/kY.net]
>>7-9
アドバイスありがとうございます。
色々と教えていただいたのですが、結局動作させることを優先してモジュールやパッケージは無視して、実装してしまいました。
空行も含めて1万行ちょっとですが、ファイルは3個のみで、全部同じディレクトリにあります。
__init__.pyや__main__.pyは作らず、ソースコードを直接叩いています。

いまいち、パッケージっぽく作成した場合のimportの動作がよくわからないので、おいおい勉強していきます。
何かこのあたりのpythonの常道を学べるものがあれば教えて下さい。
とりあえず、仕事が暇になったら、Effective Pythonでも買おうかと思ってます。(私は若い頃にEffective Javaを読んで感動したので)

12 名前:デフォルトの名無しさん [2021/12/31(金) 22:28:10.79 ID:c0ALKO7s.net]
>>10
ここ
https://packaging.python.org/en/latest/tutorials/packaging-projects/

参考にしてる本とかサイトとかで紹介されてる方法と違ったりする時はパッケージ構成だけでもこっちに合わせてやった方がいいと思う

13 名前:デフォルトの名無しさん [2022/01/01(土) 06:43:12.13 ID:96//zQri.net]
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
クソチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw

14 名前:デフォルトの名無しさん [2022/01/01(土) 11:46:28.70 ID:p7FpLgzA.net]
RPGを作ります
モンスターのクラスを100匹ぶん設定します
それぞれ50-100行です

モジュール分割は1モンスターごとか
monsters.pyにベタ書きか
種族や出現場所など、何らかのグループ単位か

どれでもいいとは思うんですが、良し悪しの経験談をお聞きしたい

15 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 11:52:14.80 ID:hoyIdEI/.net]
>>13
モンスターより
モンロー効果を勉強したまえ

装甲撃ち抜くには必要だぞw
SMAW ロケットランチャーの方が良いかも

16 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 12:18:25.91 ID:uo0q0ouM.net]
>>13
モンスターパッケージの下に
なんらかのグループ単位でサブパッケージ
サブパッケージの下にモンスター単位のモジュール

管理しやすいようにするのが目的だから
1モジュールにベタ書きでも管理しやすいと思えばそれでもいい
変更・入れ替え・追加の単位で考えるのが基本
あとグループ化は排他的な分類じゃないと破綻するので
将来を見据えても種族や出現場所が1モンスターにつき1つに必ず決まるかどうかの考慮が必要

17 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 13:24:06.66 ID:Je/lt7i4.net]
モンスターの種類ごとにclassを作る
ただそうするとclassの種類が増えて面倒になるから、どのモンスターも全部同じinterface派生にしておく
そうすると地図モジュールではそのinterface一種類を処理できるようにするだけで、全モンスターを処理できるようになる

さらに宝箱は移動しないモノという扱いで同じinterfaceにしておいたり
奇襲エリアやpopエリアなんかも透明なモノとして同じinterfaceにしておくと、モンスターに限らず地図上にあるものすべて同じ規格で簡単に処理できるようになる

18 名前:デフォルトの名無しさん [2022/01/01(土) 13:49:47.45 ID:p7FpLgzA.net]
>>15-16
なるほど。勉強になります

19 名前:デフォルトの名無しさん [2022/01/01(土) 18:02:52.86 ID:CvAU7HCi.net]
ただしそのinterfaceを適当に設計するとあとで地獄を見る

20 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 18:26:10.69 ID:n4zdCVCH.net]
例えば、ドラゴンゾンビが、
ドラゴンクラス・ゾンビクラスのどちらから派生すべきか、設計が難しい

ドラゴン種族で、ゾンビ属性を持つ?
または、ゾンビインターフェイスなのかな?



21 名前:デフォルトの名無しさん [2022/01/01(土) 20:13:57.80 ID:KzNGE8bI.net]
未来を見通すことなんてできないんだから、インターフェースという考え方自体が無理筋かもしれない。

22 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 21:40:29.96 ID:Mdgn9Um5.net]
何回もリファクタしたらいいんよ

23 名前:デフォルトの名無しさん [2022/01/01(土) 23:04:32.24 ID:gODAdL3c.net]
基底クラスと種族クラスを受けた個別モンスタークラスのモジュールが100個

monsterデータベースにそれらがimportしてあって
monster.pop(_id)とかdrop(_id)とかできる
みたいなことなのかな

24 名前:19 mailto:sage [2022/01/01(土) 23:30:19.09 ID:n4zdCVCH.net]
例えば、ドラゴンゾンビには、
ドラゴン種族から継承した、ブレス攻撃がある

一方、ゾンビ種族から継承した、臭い息攻撃もある

こういう場合に、多重継承が無いから困る

だから、ドラゴン種族を継承(is-a)して、
ゾンビ種族をインターフェイス(has-a)にするとかしないと作れない

言語に多重継承が無いから、思っているような攻撃が作れない

25 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 23:56:38.32 ID:gKSwaXD0.net]
>多重継承が無い
え…


使わないに越したことはないけどな

26 名前:デフォルトの名無しさん mailto:sage [2022/01/02(日) 02:44:24.58 ID:6S/y40F7.net]
https://docs.python.org/ja/3/library/abc.html
後付の抽象基底クラス(ABC)という仕組みがあって
それの仮想的サブクラスをつかえば多重継承ぽいことができる
具象クラスで直接多重継承はしないのでその分冗長だけど見通し悪くはなりにくい

27 名前:デフォルトの名無しさん mailto:sage [2022/01/02(日) 13:59:15.78 ID:7TGqBUEp.net]
>>23
普通はモンスター has a 攻撃タイプ(複数でも可)にする
設計がおかしい

てかゲームのモンスターの種別を継承で作るとか、割と悪手な気がするけどな。
ゲームバランスの調整が難しくなるし、メリットがなまりない。
業務システムのように、先にそれなりに決まった仕様があって作るものではないのだから細かいところまで共通化はしない方がいいと思うけどなあ。

28 名前:19 mailto:sage [2022/01/03(月) 06:15:56.77 ID:BdaWP45p.net]
確かに、継承よりも、has-a の方が柔軟

ただ、遺伝するものだから継承の方が、イメージしやすい

29 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 10:56:31.00 ID:k+5SldWu.net]
おじさん種族も「臭い息」を has-a 出来る

30 名前:デフォルトの名無しさん mailto:sage [2022/01/03(月) 17:24:11.26 ID:paNo/4Zy.net]
>>27
二つの種族の遺伝子が混ざり合ったキメラをis-aで考えることの方がおかしいと思うな。
大体遺伝子はタンパク質を発現させるコードであってタンパク質そのものの機能を直接記述している訳ではないのだから、
機能の直接記述を行うプログラミングの継承の概念と結びつけた方がイメージしやすいというのは不適切なのでは?
まだメタプログラミングなどの領域で言及するなら議論の価値があるのかもしれないが。



31 名前:デフォルトの名無しさん [2022/01/04(火) 16:57:48.92 ID:Gsj/g84L.net]
1次関数の計算はnp.polyfitでできると検索しててわかったんですが、
例えば以下のようにx、yの傾きに変化がないxy座標であれば正しい計算結果がでます

x_co=[-1,10]
y_co=[-3,20]
a,b=np.polyfit(x_co,y_co,1)
x = -1
y = a*x+b
print(y)
この計算結果は-3です

ただ以下のように傾きが変化する座標に変更すると正しい計算結果がでません
x_co=[-1,0,10]
y_co=[-3,0,20]
これだとxが-1から0までのaは3で、0から10までのaは2ですよね。
間に0を挟んでいますけどx,yのデフォルトの数値は0としたいのでそうしたんですが
aが変化する場合にnp.polyfit以外で正しい計算結果がだせる方法ってないですかね?
座標の指定を
x_co=[0,10]
y_co=[0,20]

x_co=[-1,0]
y_co=[-3,0]

2つ別々に計算してやればうまくいきますがスクリプトが長くなってしまいます
そもそも座標にx 0 y 0がありbが0になるような比例式になってるんで
一次関数で処理すること自体がおかしいのかもしれないですが

32 名前:19 mailto:sage [2022/01/04(火) 17:32:33.14 ID:vw+5Ecnq.net]
例えば、ゾンビでもないおじさん種族が、ゾンビ種族の臭い息を使うと、何でも有りになる。
継承種族でもないのに、その技が使えたら、興ざめする。
現実性が無さすぎる

おじさんが、キノコ種族でもないのに、幻惑を使えるとか

ある遺伝子から作られた種族が、ある特殊な技を使える方が、現実的

33 名前:デフォルトの名無しさん [2022/01/04(火) 17:51:12.51 ID:4V7DoHkq.net]
>>30
傾きの違う一次関数の組み合わせと分かっているのに、1本の一次関数で処理しようとするのはおかしい
言ってるように別々に計算するか、二次以上の関数でfitさせるのが真っ当な方法

34 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 18:39:40.45 ID:/u8cVvVZ.net]
>>31
そんな定義しないだけで済むんだけど、そこもコードで規制かけたいなら
種族にのみ特技インターフェイスを付与可として
おじさんは種族を継承するのではなくコンポジションで持たすとかね

35 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 22:22:14.46 ID:Gsj/g84L.net]
>>32
二次以上の関数でfitさせるっていうのはどうやればいいんですかね?
記述が短くなるならそっちを使っていきたいんですが

36 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:13:45.44 ID:IER2ZZly.net]
最小二乗法

37 名前:デフォルトの名無しさん mailto:sage [2022/01/04(火) 23:46:52.83 ID:l7pw94h+.net]
>>34
2次以上の関数でfitさせたほうが本当にいいのか考えた方がいいよ。
何を言っているのかわからなければ、多項式フィッティングについて勉強することをお勧めする。

38 名前:デフォルトの名無しさん [2022/01/05(水) 00:25:58.93 ID:mIcC+Z88.net]
>>34
np.polyfitのドキュメント読め
3つ目の引数は飾りじゃないぞ

39 名前:デフォルトの名無しさん mailto:sage [2022/01/05(水) 05:01:24.11 ID:TmObc2bo.net]
引数を2以上にして二次関数以上?でyを求めるとかそういうことですかね

x_co=[-1,0,10]
y_co=[-3,0,20]

a,b,c =np.polyfit(x_co,y_co,2)
x = 5
y = a*x**2+b*x+c
print(y)

ここのyは10になってほしいんですが、計算結果は12.272727272727275です

0を堺にして傾きを別々に設定するならやはり
x_co=[0,10]
y_co=[0,20]

x_co=[-1,0]
y_co=[-3,0]
別々の座標でy = axとして計算したほうがいいんですかね

40 名前:デフォルトの名無しさん mailto:sage [2022/01/06(木) 07:42:16.32 ID:ao2M/tK+.net]
>>38
だから36の通りで、フィッティングに対する基礎知識が足りなすぎる。
今回の場合はその通り。
0で分割してやるしかない。
適切な分割個所がわからない場合でもやりようはある。
要はモデルを作り、そのパラメータを求めるということがフィッティング。
分割個所が0とわかってるなら2パラメータの1次フィッティングになるだろうし、分割個所も分かってないが
折れるということまではわかっているなら分割個所も含めた3パラメータ のフィッティングになる。



41 名前:デフォルトの名無しさん mailto:sage [2022/01/07(金) 17:36:11.67 ID:cKWusGB0.net]
そうですか。xの値が0以上かどうかで分岐を作って計算するようにします。
どうもです。

42 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 13:22:37.26 ID:08WJfgzC.net]
機械学習で文字認証突破をしてみようとしたのですが
文字以外の模様がある場合の難易度がパないです
所謂ゴミ取りというやつですが、小さいゴミだったり薄いゴミだと簡単に突破できるのですが
例えば後ろに濃い目の線が放射状に走ってるだけで
その線をシャープにして消そうとすると文字も消えるので
急に突破できなくなります
何かいいアイデアはありますでしょうか
自分で考えたのは、そのゴミの配置パターンを機械学習して
その部分をignoreする、みたいな感じですがなかなかうまくいきませんし
パターンが変更された、となると対応コストが高すぎるかなと思います

43 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 13:35:10.43 ID:4qGoqi+c.net]
その手のはもうコピペコードで突破できるから最近見かけなくなったな
https://keras.io/examples/vision/captcha_ocr/

44 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 13:39:49.49 ID:08WJfgzC.net]
そのコードも試したことはあるのですが
文字の整列がキレイな場合に成功率高かった記憶があります

45 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 15:29:25.95 ID:4qGoqi+c.net]
文字の整列が汚いときにうまくいかないなら汚い学習データを使うとか
文字位置だけを検出する前処理(オブジェクト検出)を使う多段処理にするとか
yoloのようなモデルで一気にやらせるとか

46 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 15:30:11.11 ID:gisUZ/Sj.net]
今でも機械ではなくて人間がやっているのを
調べるために裏に模様が入った、ガタガタの文字を
入力させるのがあるよね
簡単に突破できるのならもう使われなくなっているはずだよね
それだけ機械でやるのは難しいということだ

47 名前:デフォルトの名無しさん mailto:sage [2022/01/11(火) 15:45:34.70 ID:4qGoqi+c.net]
いやいや。もう見かけないだろ

2018の記事
「CAPTCHA」と呼ばれる“グニャグニャ文字”。これをGoogleが使わなくなった理由とは
https://www.itmedia.co.jp/enterprise/articles/1802/06/news009.html

48 名前:デフォルトの名無しさん [2022/01/12(水) 00:33:49.20 ID:pGVSG9FU.net]
Google以外のサービスで普通に見る

49 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 01:07:08.90 ID:UYbilz8d.net]
存在はするがチェックボックスか画像選択が大半じゃない?
時代に追従できてないサイトが多数残っているだけで

50 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 07:04:30.99 ID:piyjaY7r.net]
多数残ってるのか見かけないのかどっちだよwww



51 名前:デフォルトの名無しさん [2022/01/12(水) 11:10:51.18 ID:iVvvYh4P.net]
キャプッチャ自体がが学習用のデータ集めに使われてるみたいな記事をみた記憶がある

52 名前:デフォルトの名無しさん [2022/01/12(水) 16:01:07.63 ID:96XTJDEM.net]
常駐GUIをtkinterで書きました
pyinstallerでexe化して、windows上でローカルアプリとして使います
exe実行したときに、既に常駐していたらソイツをフォーカスする(二重起動禁止)にするには
どういう仕組みを実装したらよいですか?

53 名前:デフォルトの名無しさん [2022/01/12(水) 16:33:16.11 ID:oXHkYdgO.net]
ウインドウズよりオマンチョーズが好きです

54 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 17:00:40.07 ID:ukuM5pRX.net]
初心者にもほどがある質問で申し訳ないんだけど教えて下さい

pythonインストールしたんだけどrequirements.txtを使ってインストールっていうのがよくわからないです
下のサイトによればpip install -r requirments.txtを使えって書いてあるんだけど
(ttps://buildersbox.corp-sansan.com/entry/2019/07/11/110000)
そもそものrequirments.txtっていうのをどうやって認識させるんですか?
何処かのフォルダに置くとかパス指定するとかそういう感じです?

調べたんですがrequirementsの作り方ばっかりで初心者に使い方教えてくれる場所がなくて途方に暮れてます
詳しい方ご教授いただけると大変助かります、よろしくお願いします

55 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 18:07:08.80 ID:7dI4mng1.net]
pip install -r requirments.txt
このコマンドを実行するときのカレントフォルダにあるrequirments.txtが認識されて、そこに書かれてるのがインストールされる

56 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 18:21:16.13 ID:ukuM5pRX.net]
返答ありがとうございます!
つまり
1.requirements.txtの入ったフォルダを開く
2.すぐにcmdで pip install -r requirments.txt を実行
の順でやればrequirements.txtの入ったフォルダがカレントフォルダとして認識されてるということですよね?

ただ上記の手順でやったのですが以下のようなエラーが帰ってきてしまいました
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirments.txt'
requiremens.txtは存在してるのになぜ認識してくれないのかわからなくて困ってます

57 名前:デフォルトの名無しさん [2022/01/12(水) 18:26:43.27 ID:ukuM5pRX.net]
すみません!pip install -r の後にrequirements.txtを直接投げ込んだら成功しました
前にパスを試したときと何が違ったのかよくわからないのですが…多分なにかミスってたのでしょうね
しょうもない質問にお時間割いていただき本当にありがとうございました
pythonが全く分かってないので何処かのフォルダに入れなきゃいけないのか、とか死ぬほど悩んでたので本当に助かりました!

58 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 18:28:34.85 ID:60+8sbQA.net]
>>55
>1.requirements.txtの入ったフォルダを開く
>2.すぐにcmdで pip install -r requirments.txt を実行
>の順でやればrequirements.txtの入ったフォルダがカレントフォルダとして認識されてるということですよね

使ってるエディタとか環境にもよるけど、そうなるとは限らない
この辺はコマンドプロンプトの知識になってくるけど
@cmdを開いたときにpwdとコマンドを打って、今参照してるパスを確認する
 (lsコマンド使うと、フォルダ内のファイル一覧も取得できるから、そこにrequiremens.txtがあるかも見る)
A違ってたらcdコマンドを使って、requirements.txtがあるフォルダまで移動する

59 名前:デフォルトの名無しさん [2022/01/12(水) 19:36:56.23 ID:ukuM5pRX.net]
>>57
コマンドプロンプトってそういう使い方も出来るんですね
調べたいことを調べる前提の知識がないという辛さを実感しましたw

60 名前:デフォルトの名無しさん mailto:sage [2022/01/12(水) 20:26:47.06 ID:piyjaY7r.net]
>>51
WindowsならCreateMutexを使うのはどうか
https://blog.cfm-art.net/archives/931

file lockもいいが、プロセスkillした時にシグナルを処理しないと💩が残るのが難
CreateMutexで作ったmutexはプロセスが死ぬと自動開放されるのでその懸念はない



61 名前:デフォルトの名無しさん [2022/01/13(木) 08:21:54.14 ID:quab12cO.net]
>>59
ほーこういうのがあるんですね、勉強になりました
stack overflowにpywin32.showwindow使うパターンもあって参考になりました
両方試してみます

62 名前:デフォルトの名無しさん mailto:sage [2022/01/13(木) 16:55:50.77 ID:ZpHCuJHb.net]
DearPyGuiで書くのもおすすめ
https://github.com/hoffstadt/DearPyGui
多重起動するかどうかの実装もできたはず

63 名前:デフォルトの名無しさん [2022/01/13(木) 23:17:23.13 ID:quab12cO.net]
>>61
あらーこれいいですね
simpleguiしようかなと思ってたけど
こっちためしてみようかな
pyinstallerちゃんがヒステリー起こしそうだけど

64 名前:デフォルトの名無しさん [2022/01/17(月) 12:00:21.23 ID:1a+vUoH6.net]
centos7にデフォルトで入っているpython2.7.5の環境です。

ターミナルでpythonと実行し、インタプリタモードにして、以下コマンドを実行したところ、centosログイン時の挙動がおかしくなりました。

>>> import gi
>>> gi.require_version('Gtk', '3.0')
>>> from gi.repository import Gtk
>>> ショートカットキーctrl+dで終了

上記設定を一旦クリアしたいです。 
ホームディレクトリのドットファイルのどこか(~/.???)に情報が保存されているのではと思うのですがどこにあるかわかりますか?
もしくはクリア方法がわかれば教えてください。

65 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 14:42:52.43 ID:/Vbqcq7/.net]
>>63
特に残ってないから気にすんな
ログイン時の挙動がおかしくなった原因は他にある

66 名前:デフォルトの名無しさん [2022/01/23(日) 01:27:37.70 ID:9kMDQdv1.net]
直接Pythonではないのですが、、Pythonの流儀ということで意見ください。
ttps://github.com/yaneurao/Ayane.gitにあるコードをimportして使いたいんですが
こういう場合どうやってファイルを配置します?<br>
myProjectフォルダ<br>
-フォルダ1(上記 Ayane.gitをここにクローンする)<br>
-srcフォルダ (上記ライブラリを使ってつくる自分のコード類)<br>
-venvフォルダ(myProjectの仮想環境)<br>
のような配置にすると、myProjectをgithubにプッシュする時にフォルダ1とvenvフォルダを
myProjectリポジトリの管理対象から外しておくと思うのですが、他のプロジェクトを
借用し、かつそれを利用する自分のプロジェクトをgitリポジトリに乗せる場合の
流儀が良くわかりません。<br>
むしろmyProjectとは全く別の場所にクローンして、それをインポートすべきなんでしょうか。
いや、、、pipした場合はパッケージはvenv内に入るのだから、venv内にクローンすべきなんでしょうかね。。。

67 名前:デフォルトの名無しさん mailto:sage [2022/01/23(日) 10:11:38.47 ID:XC5l3Rpo.net]
その方法でもいいし、myProjectとは別の場所にcloneするでもいい
git submoduleで参照する方法もある

venv/に入れるのは変だと思う

68 名前:デフォルトの名無しさん mailto:sage [2022/01/23(日) 12:14:23.36 ID:Wu5qqWWY.net]
どれだけそのコードを信用してるかや使うかで決めるかな

環境作るたびにインストール必須だよみたいなのだったらvenvだし
よく使うけどある程度修正したのを使わないとみたいなのだったらフォルダ1だし
使うたびに自分のソースに合わせて修正しないとみたいのだったらsrcフォルダ

69 名前:デフォルトの名無しさん [2022/01/23(日) 22:07:33.64 ID:T1dR8XYG.net]
venvに入れるならsetup.py書いてpipで入れられるようにしたい

70 名前:デフォルトの名無しさん [2022/01/23(日) 23:37:49.30 ID:9kMDQdv1.net]
>>66-68
ありがとうございます。git submodule、これこそ求めていたものかもしれません。
趣味の将棋を扱うのに、将棋のGUIソフトを使わずに棋譜解析での各手番の評価値と
実際に指した手との差異で好手悪手判定、手番毎の候補手とその読み筋、候補手間の
評価値のばらつき、をエクセル明細にしたくてとりくんでいますが、なんとかやれそうな気がしてきました。



71 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 15:46:02.96 ID:42lgkov0.net]
ここの皆さんはどういう環境でコード書いてるの?
windows10でpython3使おうと思ってるのですけど、公式が配布しているやつか、wslで使うのがいいのか悩んじゃってます

72 名前:デフォルトの名無しさん [2022/01/25(火) 16:23:05.52 ID:dV84BduS.net]
公式のwin版入れて問題が出たらwslにすればおk

73 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 16:28:22.81 ID:rL/URVaj.net]
win10、アナコンダでだな。ideはvs使ってる
公式とかwslで使うなんて考えたこともない

74 名前:デフォルトの名無しさん [2022/01/25(火) 16:46:35.57 ID:BU0vvn65.net]
公式のWin版入れるのが一番トラブルすくない
あとはVSCodeあれば事足りる

75 名前:デフォルトの名無しさん [2022/01/25(火) 18:24:04.77 ID:MSa2pOie.net]
win10, 公式3.10, venv vscode

76 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 19:09:52.59 ID:U9NdU/dK.net]
バージョン変更は簡単?

77 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 19:15:38.03 ID:NfMS9nHt.net]
PyCharm+Windows版公式

78 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 19:16:36.34 ID:NfMS9nHt.net]
ちなバージョンはまだ3.9x

79 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 19:29:43.84 ID:/dd0PRan.net]
>>75
公式はマイナーバージョン毎に既定のインストール先違うし
複数入れてpyコマンドのオプションやshebangで特定バージョンでの実行が可能

80 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 20:59:20.08 ID:BmRih8+2.net]
pythonは公式CPythonのシステムインストール
モジュールパッケージはユーザーインストール
ユーザーディレクトリはシンボリックリンクでバージョンアップ時に付け替える
バージョン分けはpyランチャーとシバンってとこだな
流石に2と3は完全に分けてるけど



81 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 21:46:27.25 ID:FOQo9N+v.net]
公式ページの3.8が機械学習ライブラリ関係でトラブル少なくていい感じ
3.10の文法気になるときは切り替えている
大層なIDE必要ないからエディタは何でもいいと思っている
VScodeが一番好き
anacondaはpyinsyallerで事故って以来使っていないな
condaコマンドとかよくわからんし...

82 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 23:25:29.53 ID:Vpk3TLE1.net]
Ruby on Rails などのウェブ系のプロは、
日本人が作った、多言語のバージョンマネージャー・anyenv を使う

rbenv(Ruby), pyenv(Python), nodenv(Node.js), tfenv(Terraform) などを統一的な操作方法で扱える

Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv

同様のツールに、asdf もある。
他には、Docker もある

YouTube で有名な、雑食系エンジニア・KENTA のサロンのRuby on Rails初心者用コースでは、
Linux, Raiis, Node.js, AWS Fargate, Terraform などは常識

Windows 版のMSYS2 とか、使う香具師はいない。日本語でバグるから。
必ず、仮想OS かWSL2 で、Linuxを使う。
本番サーバーが、Linuxだから

83 名前:デフォルトの名無しさん [2022/01/25(火) 23:37:44.91 ID:b/Jp9bRr.net]
教えてください。
pandasのmergeで、nan同士を結合させることはできますか?

84 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:46:50.93 ID:DYVcmqpl.net]
全角文字を変数名にしていいですか?

85 名前:デフォルトの名無しさん [2022/01/26(水) 13:18:15.24 ID:L8/qQbgJ.net]
絵文字もいいぞ

https://betterprogramming.pub/emojis-as-python-variables-sure-why-not-96ce955dada1

86 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:33:59.48 ID:DYVcmqpl.net]
>>84
やっぱりPythonは最高だわ

87 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 14:06:52.64 ID:6gLrsb4d.net]
全角使うとソース読みやすくなっていいんだけどな。人には見せれない
個人で開発してるからって場合でも詰まって人に聞きたくなるときとかあるし

88 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 14:45:37.25 ID:xSTWaWcL.net]
絵文字変数は標準対応してなくて、しかもこのトランスパイラは古いpythonにしか対応してなくて真面目なプロジェクトなのかもよくわからんけど絵文字も悪くねーだろって記事だと思うけど、それでも最高って評価でええんか?

89 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 15:43:59.34 ID:a5hjt3dg.net]
70で環境に関して質問した者です。
皆さんありがとうございます。結構皆さんバラバラな環境なんですね。
とりあえず公式入れてみようと思います。
ありがとうございました

90 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 18:45:40.80 ID:BRzp4Bf7.net]
こんな感じで関数の中で同じ処理を二回しているんですが、これをまとめて
二回呼び出すことによって、同じ効果を出すにはどうしたらいいんでしょうか?

a = get_a()
if a > 0: return("end")

その他の処理1

a = get_a()
if a > 0: return("end")

その他の処理2

if文と関数の呼び出し元にreturnする所を含めた形で繰り返したいです。
(全く同じ文なので)



91 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 19:08:21.23 ID:nCUrJFSS.net]
for f in [その他の処理1, その他の処理2]:
_if とreturn
_f()

とかでいけるかなあ?

92 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 19:52:22.08 ID:hY/A3e1V.net]
全角文字を識別子にするのは
区別が付きにくい文字があるので
あんまり賛成できないなあ
そういう文字を使わないのならいいけど
例えばひらがなの「へ」とかたかなの「ヘ」とか

93 名前:デフォルトの名無しさん [2022/01/26(水) 20:03:57.46 ID:Dd3LK1vU.net]
>>89
文脈ないから何がしたいかわからんけど
代入伴うガード節みたいなことなら
if a := get(): retur

94 名前:n
処理

と各メイン処理前に書くことはある
if not (data := get()): return
のが読みやすいか
[]
[ここ壊れてます]

95 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 20:53:13.08 ID:BRzp4Bf7.net]
>>90>>92
反応ありがとうございます。説明が悪くて申し訳ないです。

プリプロセッサのマクロみたいに、ifとreturnもまとめて関数の外に
くくり出すにはどうしたらいいんだろうという疑問です。

関数内関数とかにすると、返り値を判定しないといけないじゃないですか。
それも外に(別に関数の中でもいいですけど)出したいなと。

愚直に二回書くか、返り値を判定すれば、それで済むは済むのですが、
多分言語的に解決する方法はあって、それを知っておいた方が美しいかなと。

96 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 02:04:56.13 ID:xQdC/mnh.net]
プリプロセッサですか... というわけで import を悪用してみた。
return

97 名前:とか飛び出すみたいのは... 例外でもいいですか?
以下インデントがどうなるかわからない(全角を使ってみた)。
元のコードより複雑になっているというのは気のせい。

var.py:
----------------------
a = -10;
----------------------

check.py:
----------------------
import var

if var.a > 0:
  raise Exception('check')
-----------------------

main.py:
-----------------------
import var
import check

def foo():
  try:
    # 処理1... の後 var.a に値をセット
    reload(check)
    # 処理2... の後 var.a に値をセット
    reload(check)
  except Exception as e:
    return "end"
  return "ok"

ret = foo()
print("ret = " + ret)
-----------------------
[]
[ここ壊れてます]

98 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 09:13:31.95 ID:q7HNZ+k9.net]
しかしimportがただのプリプロセッサでないのがわかったw
変数のスコープがあったり二重読み込みがデフォで抑制されたり。

99 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 10:47:35.58 ID:BLpAKzVu.net]
親関数が戻る所は、
resp = await asyncio.gather(*exec_list)みたいになってるので、
普通にreturnして欲しい所存です……

100 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 11:09:39.82 ID:kowYjA+c.net]
Ruby のrequire は、ロードパスからモジュールを探して、読み込んで実行する。
ただし、同じものは2回以上実行しない

一方、load は、同じものでも再実行できる

include は継承チェーンに、mix-in されるから、
関数名を探索できるようになる

Rubyの作者・まつもとが、
require・includeの違いが分からない香具師は、プログラマーに向いていないと言った

ファイルを分割して書いて、読み込んで実行したり、継承チェーンを作ったりなど、
オブジェクト指向を作る、インタープリタの内部の仕組みに興味が無いような人は、
プログラマーに向いていない

プログラマー向きの香具師は、内部の仕組みに興味を持つ。
好奇心・探究心、学者








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<297KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef