X



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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2021/12/27(月) 01:38:10.93ID:GepmXCuJ
当スレに★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(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
0570デフォルトの名無しさん
垢版 |
2022/04/05(火) 18:23:32.74ID:h0FbB6w5
まんま実装してるライブラリも探せばあるんだろうけど、普通は正規表現だろうね
python 正規表現 タグの間を取得」とかでぐぐれば
0571デフォルトの名無しさん
垢版 |
2022/04/05(火) 18:27:10.86ID:/cMxK+XJ
zipファイル解凍しなくてもファイル数の確認ができるのだが
rarファイルではできないの?
0573デフォルトの名無しさん
垢版 |
2022/04/06(水) 00:25:28.29ID:vOjBJMWB
テスト
0574デフォルトの名無しさん
垢版 |
2022/04/06(水) 18:52:36.40ID:V6m5p1Ce
https://www.python.jp/train/loop/index.html
を参考にwhile文でクレジットカードのアカウント管理プログラムを作ってみようと思ったんだけど

例えばパイソンクレジットのパスワードはpythonだとして

text = ""

while text != "パスワード":

text = input("パイソンクレジット:")

print("python")

これで実行は出来たのですが2つ分からないことがあって

・パスワードだけじゃなくてIDや暗証番号などのも設定させたい場合の書き方
・while文は「パスワード」だけど、これだけじゃなくて「パス」や「pass」でも答えが表示できるようにしたい

この2つがどうしてもできません
0575デフォルトの名無しさん
垢版 |
2022/04/06(水) 18:59:11.46ID:PpwVEMc8
>>574

> ・パスワードだけじゃなくてIDや暗証番号などのも設定させたい場合の書き方
IDや暗証番号もinputで取る
whileの条件を増やす


> ・while文は「パスワード」だけど、これだけじゃなくて「パス」や「pass」でも答えが表示できるようにしたい
while text not in ('パスワード', 'パス','pass'):
0576デフォルトの名無しさん
垢版 |
2022/04/06(水) 19:21:28.09ID:V6m5p1Ce
>>575
後者やってみたけど

パスワードpassじゃないと入力できなくなっちゃった
書き方がおかしいのか?
0578デフォルトの名無しさん
垢版 |
2022/04/08(金) 06:43:14.77ID:wVatZXx3
文字コード=sjis、改行コード=CRLFのテキストファイルを
それぞれutf8、LFのファイルに変換したい
どうすればいいですか
0579デフォルトの名無しさん
垢版 |
2022/04/08(金) 12:11:07.10ID:NfDoLo6c
>>578
with open('shift_jis.txt', mode='r', encoding='shift-jis') as f:
  lines = f.read()
with open('utf8.txt', mode='w', newline='¥n') as f:
  f.write(lines)
0582デフォルトの名無しさん
垢版 |
2022/04/08(金) 17:06:38.29ID:pSQTwr1V
cchardet.detect(文字列)['encoding']
で取得した結果をopenのときに投げればいいんじゃないの
意外と使えるよ
0583デフォルトの名無しさん
垢版 |
2022/04/08(金) 17:51:57.12ID:7I4TuE41
anser = input("パスワードは?:")

while anser!="パスワード"or"pass"or"パス":

print("OK")

これでどうしてもエラーが出てしまう
0586デフォルトの名無しさん
垢版 |
2022/04/08(金) 18:07:50.56ID:bGha8t6H
>>> "パスワード" or "pass" or "パス"
'パスワード'
想定してるような集合扱いにはならないのと、先に`answer != "パスワード”`が評価されるから
>>> True or "pass" or "パス"
True
>>> False or "pass" or "パス"
'pass'
のどっちかになる。
0587デフォルトの名無しさん
垢版 |
2022/04/08(金) 18:20:28.20ID:7I4TuE41
>>586
ちょっと違うみたいで

anser = input("パスワードは?:")
while anser!="パスワード"or"pass"or"パス":
print("OK")

で↑に行を開けると起動するんだけど
今度は無限ループになる上に、while文の"パスワード"or"pass"or"パス"が効かなくなる
(enterキーとか適当な文字入力でも

OK
OK
0588デフォルトの名無しさん
垢版 |
2022/04/08(金) 18:20:44.05ID:7I4TuE41
って無限ループしちゃう
0589デフォルトの名無しさん
垢版 |
2022/04/08(金) 18:25:12.75ID:o9HNgSR+
質問です。
pyenvの設定をネットで調べると次の2つが見つかりました。
どっちが正しいのでしょうか?

(1)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
# ↑ binになっている
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
source ~/.bash_profile
(2)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.bash_profile
# ↑ shimsになっている
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
source ~/.bash_profile
0590デフォルトの名無しさん
垢版 |
2022/04/08(金) 18:30:46.90ID:7I4TuE41
実行環境忘れてた

ptyon3.10
IDLE
0592デフォルトの名無しさん
垢版 |
2022/04/08(金) 18:59:35.32ID:7I4TuE41
>>591
expected an indented block after while statement on line 2
0593デフォルトの名無しさん
垢版 |
2022/04/08(金) 19:00:25.07ID:LwBnqH/T
>>589
漏れは、Windows 10, WSL2, Ubuntu 18.04 で、
日本人が作った、多言語バージョンマネージャーのanyenv を使っている。
nodenv(Node.js), rbenv(Ruby), jlenv(Julia), tfenv(Terraform)など、20言語ぐらいある。
同様のツールに、asdf もある

漏れは、~/.bash_aliases に、下のように書いている。
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"

これは、~/.bashrc の終わりの方で、
もし、~/.bash_aliasesが存在するなら、それを読み込むように書いてあるから
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

bash で、下を入力すると、
which ruby
~/.anyenv/envs/rbenv/shims/ruby

which node
~/.anyenv/envs/nodenv/shims/node

WSL2, Ubuntu 18.04 サーバー(CUI のみ)では、~/.bash_profile は存在しない
0595デフォルトの名無しさん
垢版 |
2022/04/08(金) 19:02:33.34ID:KIOBCG5Y
>>590
そのコード何がしたいかわからん
inputパスがあってたら中身表示するとしたら

while True:
__ans = input('パスは?')
__if ans.lower() in ['パス', 'パスワード', 'pass', 'password']:
____中身表示系書く

とかだぞ
あと評価式でorするときは1から書き直す
if a == 1 or a ==2 or ,,,

とりあえず君は初心者本1冊完走してから作りたいもの作ろう
0596593
垢版 |
2022/04/08(金) 19:10:07.84ID:LwBnqH/T
~/.pyenv/bin/ か、~/.pyenv/shims/ に、

python, python2, python3 の内のどれかは知らないけど、
あるかどうか見てみれば?
0597593
垢版 |
2022/04/08(金) 19:14:42.64ID:LwBnqH/T
普通は、多言語バージョンマネージャーのanyenv かasdf を使う。
pyenv だけ使う事はまれ

nodenv(Node.js), rbenv(Ruby), jlenv(Julia), tfenv(Terraform)なども使うから

それか、Docker。
Windows, WSL2 なら、Docker Desktop
0598デフォルトの名無しさん
垢版 |
2022/04/08(金) 19:15:41.95ID:7I4TuE41
>>594-595
https://www.python.jp/train/loop/index.html
一応このサイト見て勉強してるのですが
どうにもうまくいきません……
あとお二人方のコードで試したら、また別なエラーが出ました

作りたかったのは

Q パスワードは?
A パスワード、パス、pass
でAを入力するとOKと表示されるコードでした
0599デフォルトの名無しさん
垢版 |
2022/04/08(金) 19:43:33.96ID:cn/Cvl0A
>>583
自分は、pythonは記憶とんだ。
だから、門外漢だけど、
「"パスワード"or"pass"or"パス"」じゃないなら、ループ。
って、おかしくない?

「"パスワード"or"pass"or"パス"」ならループ。
じゃないの?
ループを脱出したら「OKを表示」じゃないの?
0600デフォルトの名無しさん
垢版 |
2022/04/08(金) 19:50:24.15ID:xCRwEkJt
>>598

password_list = ['パスワード', 'パス', 'pass']
input_key = input('Enter Your password: ' )

if len(input_key) > 0:
for i in password_list:
if input_key == i:
print('おk')
if input_key != i:
pass
0601デフォルトの名無しさん
垢版 |
2022/04/08(金) 19:55:23.52ID:cn/Cvl0A
自分の発想のアルゴリズムだと、
アルゴリズム変えなければ、たぶんコメントなしだね・・・・・。
0602589
垢版 |
2022/04/08(金) 20:16:11.04ID:o9HNgSR+
>>594
レスありがとうございます。
0603デフォルトの名無しさん
垢版 |
2022/04/08(金) 20:24:09.51ID:KIOBCG5Y
>>598
本当に作りたいのがそれだけなら
passlist = ['a', 'b' , 'c']
if input('password ? ') in passlist:
__print('ok')
なんよ

とりあえず落ち着け。作りたいもの置いといて、基礎を学ぶのだ
今のままじゃ多分全部聞いて、全部身にならない
0604デフォルトの名無しさん
垢版 |
2022/04/08(金) 20:47:17.17ID:7I4TuE41
>>603
上に上げたサイトだとローカル巻数とグローバル巻数の部分まで来たんですが
ここがどうしても意味不明です
0605デフォルトの名無しさん
垢版 |
2022/04/08(金) 20:57:37.08ID:L/LJ1T8Z
>>604
お前にはプログラミングは無理だ
0606デフォルトの名無しさん
垢版 |
2022/04/08(金) 21:39:05.15ID:7I4TuE41
まずIDLEだとインデントが上手くいかない
最後のprintだけスペース戻したらエラーになる
0607デフォルトの名無しさん
垢版 |
2022/04/08(金) 22:21:47.04ID:YkLgLgBr
>>606
VSCode入れて、それでそのチュートリアルやってみたら
0608デフォルトの名無しさん
垢版 |
2022/04/08(金) 22:57:08.82ID:Qvok9sII
質問です
>>594>>603のようにlistでin演算子を使ったところ

同僚に「あー……listでin演算子使っちゃうタイプね(ニチャア)setやdictならわかるんだけどね……(ニチャア)参考までにこういうブログ読んでね【listでin演算子は遅いことを示したURL】(ニチャア)」

ということがありました
苛ついたので月曜日までにPythonを改良して(Python4を自作する)listのin演算子を早くしたいです。よろしくお願いします
0612デフォルトの名無しさん
垢版 |
2022/04/09(土) 05:08:42.56ID:fKWuF8Ed
IDLEは単純に使いづらいぞ、付属品だけど使ってる人皆無
VSCodeかPyCharmの無料版に切り替えた方が良いぞ
実際に開発する時も使うのはこのどっちかだし

Pythonのインデントは基本半角スペース4つだから全角はもちろん、TAB文字でもNG
だから最低でも半角スペースとかTAB文字が視覚的に表示されるエディタ使わないと話にならないし
何よりもデバッガ使って問題がある箇所を探す、っていう工程を覚えないと身にならん
0616デフォルトの名無しさん
垢版 |
2022/04/09(土) 06:21:03.55ID:O1Wp6+GJ
>>579
ありがとうございます
openにこんなにいろいろ指定できるなんて感動
newline=に指定するのは出力したい真の改行文字ってことですね

ついでに改行文字について調べてみたら、
Windows版Pythonでprintやwriteに使う改行文字\nってLFのことで、
ホントはCRLFを出力したければ\r\nと書くべきなんだけど
newlineを指定しなければOSに合わせて\n→\r\nに変換して
出力してくれてるってわかってためになりました

ただこれはいいことばかりではなくて、str.replaceで改行文字を
指定して変換をかけるような時は、しっかり\r\nと書かないといけない
ので落とし穴でもあり、改行は恐いなと思いました
0617デフォルトの名無しさん
垢版 |
2022/04/09(土) 08:13:20.11ID:r2/dOOYj
>>615
ColabでGUI?っておもったけどローカルのJupyterに接続するんかな
手軽にリモート開発できていいかも
0618デフォルトの名無しさん
垢版 |
2022/04/09(土) 08:50:33.02ID:eI7Hi2BA
質問です。
MacOS10.12.6 [bash]のpython3.8.3で、
下記のエラーメッセージが出ます。
どういう原因が考えられますか?
どうすれば良いのでしょうか?

ImportError: dlopen(/Users/xxx/yyy/lib/python3.8/site-packages/PIL/_imaging.cpython-38-darwin.so, 2): Symbol not found: ____chkstk_darwin
0619デフォルトの名無しさん
垢版 |
2022/04/09(土) 09:15:21.81ID:0h6RcYap
>>612
Python3.10になってIDLEメッチャ良くなったぞ
左にプロンプト専用のスペースができて表示が格段に良くなった
あとはjupyterみたいなセルを導入して欲しいかな

VSCodeとかPyCharmは聞いたことあるけど、明らかにIDLEの方が使われてるよ
だって付属品なんだもん、そもそもエディターはVimしかありえないじゃん?
Vim+IDLEが最強だって!

IDLEはbatファイルから起動させるようにしてるわ
毎回importするパッケージや変数定義をbatファイルに記述しておいて
batファイルでIDLE起動ドーン! これ超便利!
作業別にbatファイルを用意しておいてドーン! これ超便利!
0620デフォルトの名無しさん
垢版 |
2022/04/09(土) 09:23:42.23ID:fKWuF8Ed
>>619
https://news.mynavi.jp/techplus/article/20200508-1031849/
残念ながらPyCharmとVScodeだけでシェア60割近く握ってるんだ……

batファイル起動とかも、今なら別にGitでクローンして持って来れば良いから
そんな面倒な事せんでも・・…
0624デフォルトの名無しさん
垢版 |
2022/04/09(土) 10:06:40.99ID:fKWuF8Ed
60%って書こうとしてたら60割って書いてたわ……
こんなアホみたいなミスするとは……
0625デフォルトの名無しさん
垢版 |
2022/04/09(土) 10:19:09.57ID:7zWpZRsf
PyCharmとかvimがそんなシェアあるって嘘だろって数値だから
ネタで割使ってるのかと思ったら素でやってたのか・・・
0626デフォルトの名無しさん
垢版 |
2022/04/09(土) 10:24:51.12ID:0h6RcYap
>>624
batも勘違いしてるでしょ?
IDLE起動するとき毎回同じimport文やらを記述するのが面倒だから
そういうのをbatファイルに記述しておいて、IDLEを引数渡しで起動させるってことだよ?
Gitクローン関係無いよね?
0627デフォルトの名無しさん
垢版 |
2022/04/09(土) 10:52:35.78ID:fKWuF8Ed
>>626
すまん、何か色々勘違いしてたみたいだわ
普通にコードのテンプレートみたいなものをbatで生成してるのかと思ったわ
0628デフォルトの名無しさん
垢版 |
2022/04/09(土) 11:29:12.77ID:0h6RcYap
>>627
なるほど、そういう勘違いね
IDLEでガッツリコードを書くわけじゃなくて、コードはVimで書く
IDLEは実行とかテストとかだね、VSCodeとかPyCharmとかも結局裏でIDLEで実行してるわけで
たぶんやってることは同じだと思う、知らんけど
0629デフォルトの名無しさん
垢版 |
2022/04/09(土) 11:37:03.51ID:ehpYMGIZ
>VSCodeとかPyCharmとかも結局裏でIDLEで実行してるわけで

IDLEってTkInter使ったただのエディタじゃね?VSCodeが裏で使うってどういう場面で?
0630デフォルトの名無しさん
垢版 |
2022/04/09(土) 11:54:52.85ID:0h6RcYap
https://docs.python.org/ja/3/library/idle.html
えー、IDLEは対話的インタプリタでありまして・・VSCodeはインタプリタの設定があるようで、
であるからして、えーインタプリタを裏で実行しているということでありまして
えー、、、つまり最後に「知らんけど」って書いてあるのが全てであります
0631デフォルトの名無しさん
垢版 |
2022/04/09(土) 12:47:04.00ID:yJynhyxC
IDLEは、コメントアウトのショートカットキーで"'# "に出来ない時点でアウトなんだよ
0632デフォルトの名無しさん
垢版 |
2022/04/09(土) 12:49:50.16ID:LiKgioEf
>>630
それよりPythonそのものがインタプリタ言語でしょって話だろ
一行ずつ変換してCPUで実行してるで原理は変わらない
0635デフォルトの名無しさん
垢版 |
2022/04/09(土) 13:15:20.25ID:fH1CYxKR
>>616
>ただこれはいいことばかりではなくて、str.replaceで改行文字を
>指定して変換をかけるような時は、しっかり\r\nと書かないといけない

テキストモードでnewlineを指定しなければ読ま込み時に\nに変換されてるのでstr.replaceは\nで大丈夫
0636デフォルトの名無しさん
垢版 |
2022/04/09(土) 14:56:49.55ID:lodglsEl
htmlのタグつきソースじゃなく、webの文字だけを直接取得する方法ってないの
0638デフォルトの名無しさん
垢版 |
2022/04/09(土) 15:42:19.36ID:STE4KUoA
つ 「クローリングハックあらゆるWebサイトをクロールするための実践テクニック」
0639デフォルトの名無しさん
垢版 |
2022/04/09(土) 15:50:48.63ID:0h6RcYap
>>636
直接取得する方法は、webページ上でCtrl+A -> 右クリック -> コピー で直接取得できます!

ちなみにhtmlタグつきソースからwebの文字を抽出する正規表現はこんな感じだと思います
import re
re.findall(r'>([^<>]+?)</(?!script)', htmlタグつきソース)
0640デフォルトの名無しさん
垢版 |
2022/04/09(土) 16:17:02.76ID:lodglsEl
検索結果から結果の文字列だけ取りたいんだけど
BeautifulSoupじゃなくてもとれるの?
re.findall で, > と < の間の入力文字を取るってこと
やはり一時sourceから整形しないといけないんだね
0642デフォルトの名無しさん
垢版 |
2022/04/09(土) 19:04:45.34ID:q9kiD+/u
while 10:
if 10<100:
input("数字")
print("NO")
elif 10>0:
input("数字:")
print("no")


print("END")

数字:10を入力するとENDになって
11~100を入力するとNOと表示されて
10~0を入力するとnoと表示されて戻るプログラム作りたいんだけど
何を入れてもNOとしか表示されない
0643デフォルトの名無しさん
垢版 |
2022/04/09(土) 19:49:24.04ID:i94l3mqO
超初心者以前の知能が足りない人用スレが必要なんじゃないかな
0644デフォルトの名無しさん
垢版 |
2022/04/09(土) 19:59:15.82ID:yZu8Oa/R
gensim使ってword2vecのモデル作ろうとしてんだけど、単語の長さが1文字になっている
例えば富士山って単語があって、その前後にきっちりスペース入っててちゃんと区切られてても、「富」と「士」と「山」として学習されてる

モデル作るときのオプションになんかあるんかなと思って公式のマニュアルみたけど、それっぽいのないしどなたか助け船ください
0645デフォルトの名無しさん
垢版 |
2022/04/09(土) 21:52:07.66ID:0h6RcYap
>>642
while True:
  n = int(input("数字:"))
  if n == 10:
    print("END")
    break
  elif 11 <= n <= 100:
    print("NO")
  elif 0 <= n <= 10:
    print("no")

>>644
gensimとか全然知らんけども、調べたら
VECTORS_SIZE = 50 #次元数は20〜50必要と書いてる
あとは文章を単語に分けるget_words周りをチェックしてみたらいいんじゃないでしょうか
https://developers.goalist.co.jp/entry/vector_jisho
0646デフォルトの名無しさん
垢版 |
2022/04/09(土) 23:11:12.72ID:yZu8Oa/R
>>645
レスありがとう
そのベクトルサイズっていうのは単語の意味を決めるベクトルの次元数を示してて、単語そのものの長さじゃないんだ

めっちゃアバウトに言うと
抱き枕=抱き締める、枕 …ベクトルサイズ2
抱き枕=抱き締める、枕、気持ちいい …ベクトルサイズ3

ほんで次元数が増えれば増えるほど意味の精度が良くなる感じ

単語にわけるのは問題ない、中身みてもうまく行ってるんで
よくわからん…
0647デフォルトの名無しさん
垢版 |
2022/04/10(日) 00:09:48.46ID:QKdC6ZNW
>>645
ありがとうございます
0650593
垢版 |
2022/04/10(日) 21:01:22.34ID:ZtzjE5Lq
>>589
の処理を要約すると、
~/.bash_profile に、下の1 か2を書いているだけ

(1)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

(2)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/shims:$PATH"
eval "$(pyenv init --path)"

漏れが、>>593
に書いた、anyenv 用の下の2行と同じ意味。
環境変数PATH を設定してから、仮想環境を実行する

export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"

bash で、下を入力すると、
which anyenv
~/.anyenv/bin/anyenv

次へ続く
0651593
垢版 |
2022/04/10(日) 21:02:11.54ID:ZtzjE5Lq
前からの続き

ただし、漏れの環境は、WSL2, Ubuntu 18.04。
君のOS や、シェルが何か分からないが、

シェルで下を入力すると、
which pyenv
~/.pyenv/bin/pyenv # 1の場合
~/.pyenv/shims/pyenv # 2の場合

1, 2で、どちらかが表示されるのでは?

まあ、多言語バージョンマネージャーのanyenvか、asdf を勧める

>>596
>~/.pyenv/bin/ か、~/.pyenv/shims/ に、
>python, python2, python3 の内のどれかは知らないけど、あるかどうか見てみれば?

これは、たぶん間違い。
~/.pyenv/bin/pyenv か、~/.pyenv/shims/pyenv がある

結局、~/.pyenv/bin/ か、~/.pyenv/shims/ は、各人の好みなんだろう
0652デフォルトの名無しさん
垢版 |
2022/04/11(月) 07:06:19.05ID:+2lQ4ezC
Python venv 仮想環境のフォルダー名 --clearとやったら全部吹っ飛んだんだがどうしたらいいの?

m1 macでやっててユーザー名変えたら何故かvenvがactivateされててもpythonコマンドが2系だったんでどっかのクソサイト真似たら想定してない結果になった

これ復元できるかね?
0653デフォルトの名無しさん
垢版 |
2022/04/11(月) 10:12:49.29ID:sVlSXLDD
同じく仮想環境でのエラーについて…
modulenotfounderrorの原因って何があるかね(モジュールはrequests)
winのvscode上で、仮想環境内にインストールは当然してるし、スペルミスもない、vscodeとPython両方ともパスも通ってる

あと何がある?追加インストールしたモジュール全部このエラーになるんだ
m1macではエラーはでなかったから尚更意味わかりません
0655デフォルトの名無しさん
垢版 |
2022/04/11(月) 11:30:00.35ID:uYcMdD2t
>>652
そら仮想環境は--clearしたら全部消えるし、ユーザ名変えたらパス変わるし使えなくなるでしょ
何らかのバックアップとってないと復元は無理だと思う
0658デフォルトの名無しさん
垢版 |
2022/04/11(月) 12:36:17.27ID:uIRj5XJN
>>653
Ruby ではモジュールは、モジュール探索パス内から探される

例えば、モジュール探索パスに、フォルダa, b, c が存在する場合、
その先頭から、つまりabcの順番で、モジュールが存在するかどうかを探していく

同名のモジュールが、aとc内にある場合は、
a内のモジュールが使われて、c内のモジュールは使われない

なので、この順番が重要
0660デフォルトの名無しさん
垢版 |
2022/04/11(月) 20:50:27.40ID:+2lQ4ezC
>>656
https://dev.classmethod.jp/articles/change-venv-python-version/

こいつの記事を見てインストールし直すといいとか書いてあったからpip installでできる何かかなと思ってreqxirements.txt作ったけどやったあとにそういえばPythonってファイルのことモジュールって言うよなと思いだして見てみたら全部消えてた

こいつの説明もおかしいしclearなんて何をクリアーするのか分からない名前にする方もおかしいしモジュールなんて紛らわしい名前にする方もおかしいし全部がおかしい

しかも一番最後に唐突にpyenvなんて単語が飛び出してきてるあたりvenvとpyenvごっちゃになってるんたろうな
0661デフォルトの名無しさん
垢版 |
2022/04/11(月) 21:15:25.54ID:8HOMPEv6
記事読んだけどpyenvとvenvを混同してるの>>660だけやん
何するにもまず公式サイトの説明かコマンドのヘルプみない方が悪いよ
classmethodだから変なこと書いてる可能性は低いが公式ではないからね
0662デフォルトの名無しさん
垢版 |
2022/04/11(月) 21:18:23.24ID:+2lQ4ezC
>>661
うん本当に公式サイトの説明かコマンドのヘルプ以外何も信用できないと痛感した

今後はその2つ以外何も見ないようにするよ

それはそうとデータ復元させられればいいんだけどね
やる気ないわどうしよう
0663593
垢版 |
2022/04/11(月) 21:40:41.55ID:uIRj5XJN
普通は複数言語を使うから、venv , pyenv を単独では使わない。
Ruby と同じで、GUI が無く、HTML, CSS, JavaScript を使うから、Node.js も必要

多言語のバージョンを個別に管理できない

だから、漏れは日本人が作った、多言語バージョンマネージャーのanyenv を使っている。
nodenv(Node.js), rbenv(Ruby), jlenv(Julia), tfenv(Terraform)など、20言語ぐらいある。
同様のツールに、asdf もある

それか、Windows 10, WSL2, Linux, VSCode なら、公式のDocker Desktop
0664593
垢版 |
2022/04/11(月) 21:51:13.38ID:uIRj5XJN
基本的に、単独のバージョンマネージャー、
venv , pyenv, rbenv の記事を書いている香具師は、情弱

そういう香具師は、Node.js を入れる段になると、nvm, n とか言い出すw
各言語で、様々なバージョンマネージャーを使うな。ややこしい

最初から、20言語入っている、anyenv, asdf を使えば良いだけ。
全言語同時に更新できるし

それか、Windows 10, WSL2, Linux, VSCode なら、公式のDocker Desktop

この3つ
0665デフォルトの名無しさん
垢版 |
2022/04/11(月) 23:50:16.65ID:zI2UWl89
だからDocker以外認めないんだって
さらに環境構築はスレチなので
初心者はgoogle colabでやりなはれ
0668デフォルトの名無しさん
垢版 |
2022/04/12(火) 04:43:55.44ID:iDZ3USXF
「普通は複数言語を扱うから」とかいうのは正しいかもしれないが、だからといってごちゃ混ぜ環境構築ツールを使うのはベストどころか悪手だから信用しちゃいけないよ

どう考えてもその言語専用に開発されたツールを使った方が、言語のバージョンアップに素早く対応できるし、
情報も多いし細かい所まで調整できる

ラッパーツールを使うってことは自らラッパーツールによる制限をあらかじめ課しているようなものなので、
ラッパーツールで十分と判断できるようになるまで理解が進むまでは使わない方がいいと思うわ

poetryですら弱点(pipの --find-links が使えない)があるからなあ。
■ このスレッドは過去ログ倉庫に格納されています

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