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

■ このスレッドは過去ログ倉庫に格納されています
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/01/27(土) 17:12:17.55ID:OFvOzhfh
embeddable pythonという方法もある
332デフォルトの名無しさん
垢版 |
2024/01/27(土) 18:00:42.31ID:XRhGTNLI
>>330
自分でシステムのPythonとは別に好きな場所、好きなバージョンのPython入れるのに自分でビルドするのも方法の一つでしょ
Windowsみたいにインストールパッケージ用意されたないならだけど
>>326はそういう質問じゃないんか?
333デフォルトの名無しさん
垢版 |
2024/01/27(土) 18:15:20.55ID:XRhGTNLI
pyenvもたしかソースからビルドしてなかったっけ
334326
垢版 |
2024/01/27(土) 18:29:33.08ID:o5v2l6LT
>>332
自分でビルドしたPython がシステムPythonのライブラリを参照して不具合が起きると困る。自分でビルドするにしろ、出来合いの物を使うにしろ、そうならない方法を訊いた。
335デフォルトの名無しさん
垢版 |
2024/01/27(土) 18:49:08.88ID:NKobULuJ
は?
336デフォルトの名無しさん
垢版 |
2024/01/27(土) 19:05:28.29ID:bXNtt3x6
>>332
CPythonを自前でビルドするかそれともビルド済みバイナリを持ってくるかという話と
システムデフォルトのPythonをキープしたままそれとは異なるバージョンのPythonも同時に使えるようにするという話は直交した話やで

そんでもって質問は後者についてやろ
337デフォルトの名無しさん
垢版 |
2024/01/27(土) 20:45:05.22ID:o5v2l6LT
>>336
うーん、よく分からないが、
システムPythonを必要とするシステムコマンドを叩くと、何らかの方法で導入したPython 3.11 を起動するようだと困る。
そうならないよう Python 3.11 を使える、そんな方法を訊いた。

自分でビルドして、上記を満たせるなら、自分でビルドする事で構わない。
338デフォルトの名無しさん
垢版 |
2024/01/27(土) 22:44:25.65ID:brX24hU9
ビルドしてもしなくてもシステムPythonとは別の場所にバイナリを配置してそこへのpathを指定して使うことになる

pyenvじゃなくても公式からダウンロードしてもいいしanacondaを使ってもいいしhomebrewやaptを使ってもいい

macosやlinux系だとシステムPythonに依存する場合は基本的に/usr/bin/pythonを指定してるのでこれが指すバージョンを変えずに自分の使いたいバージョンへのpathを通すことになる
339デフォルトの名無しさん
垢版 |
2024/01/27(土) 22:47:32.91ID:t7pPpNfJ
どれを使うかという指定もなければ、パスという概念もないんだろうな。
340デフォルトの名無しさん
垢版 |
2024/01/27(土) 22:58:51.17ID:NKobULuJ
>>334
>自分でビルドしたPython がシステムPythonのライブラリを参照して
これがわからん
仮に自分でビルドして/opt/python3に入れたPythonがあるとして、それがシステムのPythonにライブラリに依存するっていうこと?
どういう環境?
341デフォルトの名無しさん
垢版 |
2024/01/27(土) 23:05:09.68ID:t7pPpNfJ
ただの初心者なんだろうな
2024/01/27(土) 23:58:06.71ID:X0LvN4tY
Ruby ではDocker を使う。
多言語バージョンマネージャーでは、日本人が作ったanyenv もある。
同様のツールに、asdf もある。
コンパイルするから、20分ぐらい掛かる

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

echo $(anyenv root)
ただし、$ANYENV_ROOT は定義されていない
/home/ユーザー名/.anyenv

echo $(rbenv root)
echo "$RBENV_ROOT"
/home/ユーザー名/.anyenv/envs/rbenv

echo $(nodenv root)
echo "$NODENV_ROOT"
/home/ユーザー名/.anyenv/envs/nodenv
343デフォルトの名無しさん
垢版 |
2024/01/28(日) 01:49:25.71ID:P/o+j6FX
Dockerなどをいきなり勧めてくるやつは前提がおかしい
2024/01/28(日) 01:53:38.75ID:VCSACfjI
いやいや、Dockerの前にもっとおかしいのがあるでしょ
この人マジで頭おかしいけどいつまでこの芸風続けるんだろ
345デフォルトの名無しさん
垢版 |
2024/01/28(日) 05:41:05.55ID:P/o+j6FX
Rubyでしょ?
こいつはキチガイだけど、それ以外におかしいことを書くから、それも指摘しないと真面目に読むやつがあらわれる。
2024/01/28(日) 06:42:16.36ID:PWkEGs2d
英会話教室に通って「フランス語では云々」と講釈たれる奴みたいだよなw
347326
垢版 |
2024/01/28(日) 07:28:43.27ID:JZ5LlHQA
>>340
あり得ない事ならウェルカムだが、例えば、

/opt/python3/bin/python が
/opt/python3/lib/libpython.so を_参照せず、$LDPATH にしたがって
/usr/lib/libpython.so を見に行くことないの? とか、

或いは、
/usr/bin/python が
/usr/lib/libpython.so というリンクを参照したのだけど、その実体が実は
/opt/python3/lib/libpython.so だったとか。

>>327 で挙げられた pyenv というのは、何かしらそれに類した不具合を解消するのだろうと想像している。
348342
垢版 |
2024/01/28(日) 09:12:54.94ID:4GEBUrLg
>>342
に、もちろん、pyenv も入っている

多言語バージョンマネージャー、anyenv・asdf には、
rbenv, nodenv, goenv など、たいがいの言語は入っている

ただ最近は、Docker も多い
2024/01/28(日) 11:10:02.02ID:DsZuLMRu
>>347
固有のパスに導入した一般的なプログラムならそうはならん
lddしたらわかるけどフルパス指定になってる
pyenvは全自動でビルドするツールなんだけど導入先はホーム以下で同様
独自のシェル拡張使わないなら副作用ないし影響範囲もシェルの中だけ
2024/01/28(日) 20:13:41.36ID:zZgVSQ5K
Python Arcadeが流行らないのって
名前が悪いからですよね?
Pycadeとかに変えてほしい
351342
垢版 |
2024/01/28(日) 21:35:30.33ID:rJLsGKs7
PyDeca だと流行りそう。

>>349
> フルパス
のくだりがよく解らないが、取り敢えずpyenv を検討してみる。どうもありがとう。
2024/01/28(日) 21:56:26.44ID:vItLFMA9
お勉強スレにもポストしちゃったんですが
バージョンよって剰余演算子の挙動が違う?
-1%3とか
2024/01/29(月) 00:08:46.88ID:G6ToERat
くたばれPython

に見えた
354342
垢版 |
2024/01/29(月) 00:10:12.64ID:eueHhgdA
>>342
のanyenv root/rbenv root/nodenv root を見れば明らか

/home/ユーザー名/.anyenv 以下しか使わない。
個人の環境しか使わない

だから多言語バージョンマネージャー、anyenv・asdf を使えばよい
2024/01/29(月) 11:59:52.72ID:fIBxeYXl
ArcadeよりPyxel派

>>350
なぜPyをつけたがるのかだよね
2024/01/29(月) 13:09:20.70ID:+byldzPi
Pythonでゲーム学習するならPyxelなんですかね
2024/01/29(月) 13:23:00.81ID:fIBxeYXl
>>356
オールインワンでツクール寄りだからゲーム部分を主に書きたいならそう
自分でプログラム制御や表示まわりも書きたいならPygame(SDL)とかもっと低層なやつ
2024/01/29(月) 18:01:51.03ID:+byldzPi
>>357
ありがとう
Pyxel、記述少ないし、エディタ付きだから
これだけで完結するのがいいね
しばらく触ってみるわ
2024/02/04(日) 18:26:19.16ID:IyXxpV05
Pythonは初心者向けの文法というけど
難しくてサッパリわからん
なんでコレクションをイテレータにしなきゃいかんの? ジェネレータって何の役にたつんよ
クロージャってどう使うんだか
せめてウェブやろうとしたら入門書がいきなりフレームワークばかりってどうなの?
PHPみたいにさあもっとこうさっくりとさあ

ぜんぜん初心者向け文法じゃないわ
2024/02/04(日) 21:07:46.94ID:lK7N0HuK
>>359
Pythonの文法が初心者向けなんて聞いたことないから君騙されてるよ
PHPできるんならそれで困ることないんだから満足しとけばいいじゃん
361デフォルトの名無しさん
垢版 |
2024/02/04(日) 22:53:10.28ID:PEeZU4gY
文法はめちゃくちゃ初心者向けだろ
362デフォルトの名無しさん
垢版 |
2024/02/04(日) 23:04:08.64ID:VBtkyZXg
文法が分からないんじゃなくてイテレータやジェネレータやクロージャというプログラミングの概念が分かってないんやな

Python特有のものではなく一般的なものでPHPでも全部サポートされてるからそっちでまず勉強してみたらいいんでないか?
2024/02/05(月) 02:56:37.96ID:UJ2m14qd
>>359
コレクション全部に対して何かしたいときに使うのがイテレータ
例えばコレクションの中を探すとか

イテレータで書くとコードがごちゃごちゃするのですっきりかけるのがジェネレータ

クロージャを使うと中でどう動いているか気にすることなくプログラムが書ける

まあ、ググればすぐ出てくる情報だけど
2024/02/05(月) 04:24:58.35ID:9+bn0/St
入門の講座がよくわからんかったから大混乱したよ講師が変だったのかもしらんが

まずアナコンダを入れないとパイソンというのものはまともに動かないって言われた
そんでvenvとかpipについて説明された
後で知ったが本当ならアナコンダナビゲータで環境つくるらしい

アナコンダのせいでSSDに大量のライブラリが入ったがまったく使わんかった
だったらなんでインストールさせた?
変数は整数型と倍精度浮動小数点数がどうのっていって変数型が少ないからJAVAより計算が苦手なんですって
はて???じゃあなんで機械学習とか流行ってん
後で知ったが多倍長整数だし、浮動小数点数はゴミだけど標準ライブラリに固定小数点あるって、むしろ数値演算はどの言語より得意なんだと

パイソン大流行だけどちょっとかじってすぐ初心者講座の講師やるってのは
やめてほしいな
なんか技能検定試験とかないもんかねえ
365デフォルトの名無しさん
垢版 |
2024/02/05(月) 11:14:00.83ID:5G1mpbCF
>>363
君もググったほうがいいぞ
2024/02/05(月) 11:54:56.85ID:DvqIPT3c
>>364
アナルに入れるとパイパンがー
まで読んだ
2024/02/05(月) 13:59:42.51ID:TA7auAWf
パイソンをケツの穴に突っ込んだらどうなりますか?
経験者のかた教えて下さい
2024/02/05(月) 16:37:45.68ID:hliEPH6s
死んじゃうんじゃない?
2024/02/05(月) 16:48:21.19ID:B/pJSj68
公式のチュートリアルであらかた網羅できるのに
なぜ他から手をつけるのか
プログラムが初めてだと時間はかかるけども
2024/02/05(月) 16:57:38.46ID:RaPfxtxC
基本的なことは覚えたら済む話なんだが
いろいろなライブラリがあるからわっかんねぇ
371デフォルトの名無しさん
垢版 |
2024/02/05(月) 19:18:21.11ID:TKxKoCl8
一応ここ質問すれなんで
2024/02/05(月) 21:18:11.87ID:UJ2m14qd
機械学習にアナコンダが必須だった時代があった
pythonには必須ではない

python 自体は長い桁が扱えるかもしれないけど
インタープリターなのでもともとが遅い
機械学習に使われているのは
ライブラリがCかC++で書かれているため
2024/02/05(月) 21:57:24.93ID:B/pJSj68
それならPythonである必要はないよな
Jupyter、numpy/scipyの土壌があったから
そのまま使い続けているだけ
2024/02/06(火) 07:25:06.16ID:C4pk/cEW
jupiternotebookってのはどうしたら空白やタブ記号を表示できますか
パイソンやるのには空白やタブ記号が見えないと困るのです
2024/02/08(木) 06:13:31.80ID:hTf75Vln
パイソンはインタプリタでパイソンプログラムはマルチプラットフォームとききました
ところがPYNUMはC言語だといいます
つまり機種依存があるはずです
そうするとパイソンも機種依存していまいPYNUMをインポートしたプログラムはWindowsとマックでは動かないのではないのでしょうか
私だんだん混乱してきました
2024/02/08(木) 07:41:46.39ID:xta5h9K/
>>375
そういう面倒ごとがあるから、俺はことあるごとに言ってるんだよ
外部ライブラリは使わずPythonの組込み関数と標準ライブラリのみで書けと
ライブラリに振り回されて貴重な人生を無駄にしないようにな
377デフォルトの名無しさん
垢版 |
2024/02/08(木) 07:57:21.03ID:isMXgTpD
https://pypi.org/project/pynum/
これ?
378デフォルトの名無しさん
垢版 |
2024/02/08(木) 07:59:14.95ID:isMXgTpD
>>359>>364同じ人?
2024/02/08(木) 08:35:52.53ID:OewvCXAt
>>374
空白を可視化してるフォントを使うとか
で、何も見えなかったらタブと見なす
2024/02/08(木) 11:05:24.59ID:arovnfBA
全部anacondaで作って.condarcにconda-forgeのライブラリからのインストールも可能にしておくように設定

だが変わったものを取ってくると重くなりがち
biocondaとかもインストール元にしとくか
変わったものをインストールする度に別環境作ったり

pythonの環境設定は結構な初心者泣かせだな
そもそもPCのユーザー名がマルチバイトだったり半角スペースあったりしたらもうアウトだったり

anacondaは公式pythonと同居させられなくて問題になるが
ryeを推してるところもあるが、私的ドキュメントが心許ない
381デフォルトの名無しさん
垢版 |
2024/02/08(木) 11:11:05.34ID:isMXgTpD
anacondaを使うメリットが科学計算用ライブラリが一括で入るぐらいしかない

>>374
そもそもタブを使うことがないし、全角スペースならだいたいのプログラミング用フォントなら分かりやすくしてある
2024/02/08(木) 12:21:39.61ID:6CZwMK9a
conda系はオールインワンで楽なのはわかるけど
そこは一歩進んでコンテナ込みで勧めてほしい
魔法が多くて把握できなくなる弊害まで考えが及んでない
2024/02/08(木) 12:37:21.60ID:LLz4mv+z
>>377
numpyのことじゃね?

>>375
C言語で開発されてるライブラリはインストール時(pip install等)に実行するプラットフォーム用にコンパイルされたバイナリが含まれたパッケージをダウンロードしてくるかソースをからコンパイルしてる
ライブラリをインポートしたPythonのコードが特定のプラットフォーム用のコードを書いてなければWindowsでもMacでも動く
2024/02/08(木) 13:13:39.69ID:LLz4mv+z
>>374
jupyterlabならHighlight white spacesという設定でタブもスペースも可視化できるよ
2024/02/08(木) 14:21:16.75ID:MMHd3icf
基本、C# 以外の全言語は、Linux 用。
だから、Windows 10 でも、WSL2 でLinuxを使う。
Mac ではVirtual Box でLinux

初心者はLinuxが難しいから、Windows上のMSYS2 を使う。
例えば、Ruby Installer がそう

MSYS2なら、1GB ほどのWindows用の巨大なコンパイル環境もインストールする。
これで、Linux用のソースコードを、Windows用の機械語にコンパイルする

ただ、全言語はLinux用に書いているから、
Windows用にコンパイルすると、うまく動かない場合もある

利点は、仮想マシンでLinuxを起動していないから、あまりメモリを使わない。
欠点はLinuxじゃないから、Docker を使えない事。
データベースなどの外部プログラムも全て、Windows用で揃えないといけない

そうすると、中にはバグるプログラムも出てくる。
全てのプログラムがLinux用に作ってあるから
386デフォルトの名無しさん
垢版 |
2024/02/08(木) 18:58:16.38ID:T36ggrXR
>>375
50代のスレに書き込んでいるおっさんだろ?
387デフォルトの名無しさん
垢版 |
2024/02/08(木) 18:59:24.55ID:T36ggrXR
>>385
なかなかのキチガイだなw
388デフォルトの名無しさん
垢版 |
2024/02/08(木) 20:35:36.46ID:PMTWmDyI
>>385
Rubyに関わるのはこんなキチガイばっかりです
2024/02/09(金) 08:55:46.64ID:JpXObIpk
河上幸恵ちゃんの名曲
心の中のルビーというやつだな

皆さんありがとう
また一歩自分の成長を感じました
C言語のライブラリはそれぞれのパソコン用がインストールされる高度な仕組みであること
ジュピターで空白タブを表示する方法
皆さんはわたしの成長ホルモンです
390デフォルトの名無しさん
垢版 |
2024/02/14(水) 15:26:02.91ID:uypU95In
os.path.isfileの様なやり方でループなど使用せずに、
拡張子を除いた部分のファイル名が存在するか確認する方法ってありますか?

例えばファイル名”test01.txt”,”test01.png”のどちらがディレクトリに存在していても、”test01”だけでファイルの有無を確認したいです。
391390
垢版 |
2024/02/14(水) 15:45:38.27ID:uypU95In
自己レスです。
とりあえず、glob.glob(‘/hoge/test*’)としてやってみました。
こんな方法もあるよというのがあれば教えてください。
2024/02/21(水) 10:41:22.80ID:tURWv7oT
os.path.exists
2024/02/21(水) 22:24:18.46ID:XpCZiALh
globでいいと思うけど一応
https://docs.python.org/ja/3/library/pathlib.html#pathlib.PurePath.stem
2024/02/25(日) 04:23:40.84ID:oObtEil6
Pythonのandroidでの実行環境って何を入れたらいいですか?
開発環境はとりあえず必要ないので
あくまでスクリプト・インタープリターとしての最低限の実行環境がほしいのです
CPythonみたいなリファレンス実装があればいいのですけど
2024/02/25(日) 20:23:29.26ID:hMq2Qtw2
termuxかpydroidかなあ?
2024/02/25(日) 20:32:04.31ID:hMq2Qtw2
python以外もつかうならtermux、uiが使いたいならpydroidかな?
2024/02/25(日) 21:17:43.23ID:oObtEil6
>>395,396
レスありがとう
どちらかというと開発環境みたいな感じなんですね
ほかにQPythonとかQPython 3Lとかはどうですか
よりシンプルな実行環境という観点からするとどれになるのでしょうか
2024/02/26(月) 23:37:11.68ID:GBHslgGd
レビュー見る限りその2つはあまり良くなさそうだね
2024/03/05(火) 16:51:36.85ID:90GfYifC
凄い基本的な質問なんだけどライブラリのことを考えるとPythonはanacondaとPythonそのままどちらのほうがお勧めですか
または他にお勧めのツール?的なのある?
2024/03/05(火) 17:04:30.62ID:90GfYifC
ライブラリじゃなくてモジュールでした
2024/03/05(火) 18:49:14.75ID:xnDaPNvs
とりあえず、公式実装のCPythonでいいのでは?
やりたいことが明確になってから必要に応じてanaconda環境を構築すればいいと思う
2024/03/06(水) 15:55:05.95ID:fNmftXEr
何かライブラリなどをインストールしようとするたびにエラーがでて説明通りにできない
こんなもん?
2024/03/06(水) 16:59:36.65ID:0Fz1GTqO
説明が悪いんでは
前提としてる環境が違っててそこまでは書かれてないとか
2024/03/06(水) 18:30:41.18ID:vezaZ1iv
>>402
その説明では分からない
405デフォルトの名無しさん
垢版 |
2024/03/07(木) 20:32:37.26ID:aIlNu4oQ
自分はPycharmのflaskでウインドウズでは環境構築できなくて諦めました
同じことやってるのに、Macでは動いてウインドウズではエラー
Pythonって学ぶスタート地点に立てない人少なくないかも?
2024/03/07(木) 20:50:36.75ID:Xi0SwO4p
>>364
マジで誰でもできるよ
Pythonに限らずだけど経験一年以上とかで求人出てるし
俺は学歴で落とされたがね
そもそもanaconda使いながらpipとか使うと環境壊れるよ
2024/03/07(木) 20:53:48.81ID:Xi0SwO4p
>>359
まぁ人によって印象違うんだろうな
俺はPHPはもう一生触らないと決めたけど

そしてイテレータやらクロージャやらやんなくていいから
そういうのは出てきた時に意味が分かれば十分
2024/03/08(金) 00:09:38.55ID:xxGRRb0E
基本、全言語はLinux 用。
Windows 用は、C# だけ

だから、Windows 10 から、WSL2・仮想マシンでLinuxを起動できるし、
Docker Desktop も使える

だから、Windows/Mac ネイティブ機械語は動かない。
Linux用のソースコードを、Windows/Mac用コンパイラで機械語にするのは邪道

でも、MacはUNIX のBSD だから、Linuxと似ているので、まずまず動くけど、
仮想マシンでLinuxを起動する方が確実

Windowsで、MSYS2, Visual Studio でコンパイルすれば、Winodows用の機械語になる。
しかし各モジュールの作者は、面倒くさいからLinuxにしか対応しないので、
Windows/Macでは動かない
409408
垢版 |
2024/03/08(金) 00:21:23.96ID:zqy1N+OL
なぜ、Windows/Mac用のネイティブ機械語にしたいのかと言うと、
仮想マシンでLinuxを起動したくないから。
2つのOS が動くから

その代償に動かなくなる。
Linuxじゃないから、Docker Desktop も使えないし

例えば、自分がC/C++ のモジュールを書く時、Linuxにしか対応しないよな。
Windows/Mac用のファイルシステムや、プロセス/スレッドに対応しないはず。
3つのOS で動くようには書かないはず。
面倒くさい
410デフォルトの名無しさん
垢版 |
2024/03/08(金) 00:50:54.05ID:FJDucPJF
>>408
またこの馬鹿の書き込みか
ruby馬鹿よりはマシだけど
2024/03/08(金) 04:38:04.66ID:xViuWNSj
クロージャとデコレータが極悪に難しい
ドキュメントや本を何冊も読んだが何のためにどうやって使う機能なのかさっぱりわからず自己嫌悪に陥る
この世は無知な方が幸せなんだよな…
2024/03/08(金) 15:18:49.79ID:b4tlhFyW
python齧ったけどわけわからん
やっぱCOBOLがわかりやすいわ
2024/03/08(金) 16:10:05.35ID:JEcqFwbk
Pythonで何作れたら中級者くらいって言えるかな?ゲームとか?
2024/03/08(金) 16:11:57.72ID:uXHmVfiG
VS Code使ってたせいだか何だかわからんけど、気分変えて作業フォルダを変更したらimport命令で自作モジュール読み込みするとエラーに。
メインpyファイルと同じフォルダの別pyファイルがimportできない

ぐぐりまくってsys.path.append("ここに任意パス")で上記フォルダの絶対パスを指定したらいけたが、
じゃあそもそも元のパスはなぜ指定もせずにimport出来てたのかっていう疑問が残った。なんか怖い
2024/03/08(金) 16:15:01.89ID:uXHmVfiG
ちなみにこういうエラーね
ModuleNotFoundError: No module named 'My_Mod'
416デフォルトの名無しさん
垢版 |
2024/03/08(金) 16:40:50.56ID:T/tXaIRT
>>414
そうですね。
怖いですね。
2024/03/08(金) 17:18:26.85ID:YKaVE2hY
>>414
もしかして:Pythonのバージョンも違う
418デフォルトの名無しさん
垢版 |
2024/03/08(金) 18:34:14.21ID:1bn2hcNH
>>414
https://docs.python.org/ja/3/tutorial/modules.html#the-module-search-path
には、
「入力されたスクリプトのあるディレクトリ (あるいはファイルが指定されなかったときはカレントディレクトリ)。」がsys.pathに含まれてるって書かれてるのに変だよね
絶対パスを書く他にも、
os.path.abspath(__file__)とかする方法もあるよ
pathlibでPath(__file__)と書いても良いけれど(自分は実はこっちばかりだけど)
2024/03/08(金) 22:04:15.13ID:Olq6J6jV
>>402
pip環境が壊れちゃったのかなあ
2024/03/09(土) 02:10:53.23ID:V+9wfNne
外部ライブラリはPythonの強みであり同時に弱みでもあるね
ライブラリがらみのトラブルで世界中でどれだけの人生が無駄に消費されているだろうか
2024/03/09(土) 02:23:23.87ID:RQZY5Guv
Ruby のrequire が使うロードパスには、
current working directory(cwd) は含まれていないから、

require 'abc' はエラーになるけど、
相対パスのrequire './abc' はOK

一方、require_relative 'abc',
require_relative './abc' は、どちらもOK

相対パスも、その起点がどこからかという問題もある。
ファイルからの相対なのか、cwd からの相対なのか

cwd を変えて、実行してみればよい
2024/03/09(土) 05:27:46.59ID:b/ATK8wU
結局開発環境だと.venv/bin/activateの中にPYTHONPATH書くのが早いんだな
423デフォルトの名無しさん
垢版 |
2024/03/09(土) 12:09:06.37ID:innwL8du
開発環境でもpip installしたほうが
424デフォルトの名無しさん
垢版 |
2024/03/09(土) 12:15:40.44ID:innwL8du
配布先とか別環境でも同じ使い方できるから楽
なんとかtoml最小限書くだけでできるよね?
レス別れちゃってごめんね
2024/03/09(土) 12:47:03.50ID:hNim5q60
venvで細かく分けて保存
何かインストール難しそうなものがあったら
新たな環境作ってそこにpip install
それで壊れたらその環境捨てる

という訳で気付いたら環境が15個とか出来てる

anacondaでconda-forgeから取れるようにすると少し楽だが、いずれにしても管理の習慣が無い人ほどしくじり易い
「どうせ上手く行くから大丈夫じゃねーの?」と舐めプして
基本環境にpip失敗してpython丸ごと再インストールとなる

一般に「アップデートして最新にしましょう」というのがOSや市販アプリなら常識だが
pythonでは他ライブラリとの相性もあり、何でもかんでもupdateすると怖い
conda update condaはさすがにまあ安全だが
426デフォルトの名無しさん
垢版 |
2024/03/09(土) 17:35:27.63ID:KPeEXLi+
>>425
>基本環境にpip失敗してpython丸ごと再インストールとなる
ここがちょっとわかんない
2024/03/09(土) 18:34:45.65ID:bB58iYl/
管理者権限でpip実行してんじゃね?
2024/03/09(土) 19:30:49.00ID:b/ATK8wU
AIないと何もブログラミング出来ないんだけどこれでいいのだろうか
2024/03/09(土) 21:56:34.21ID:Dg4V+RZb
>>428
いいんだよ
プログラミングなんて本来人間のやる作業じゃない
コンピュータのことはコンピュータに任せりゃいい
人間にしかできない仕事をやればいい
430デフォルトの名無しさん
垢版 |
2024/03/10(日) 04:36:05.69ID:YuaEvpE6
>>429
こういう馬鹿ばっか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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