Pythonの環境構築で躓きすぎた。。今月は超絶いそがしく(今月「も」とはあえて言わない..)なかなか手が進まず、別の方法を考えるか〜...Python諦めてGoでやるかぁ〜...と思ったんだけど
お友達に「それ、Goでやっても躓きポイントいっしょじゃない?」とか言われて、3〜4日PyCharmと格闘...。
先程、fintalkの早起き輪読会で、「環境構築で躓いているの」と何気に聞いてみたら、速攻で解決した。Python構築レクチャーで30分もとってしまった..みなさん、申し訳ない。「全然聞いてもらって大丈夫!」と丁寧におしえてくださり、温かい〜、感謝〜🙏🙏🙏
皆さんの記事とかオススメブログ・書籍等を共有いただいたので、あとでじっくり読む。
- 仮想環境構築
- Pythonの仮想環境についてのまとめ(自分用メモ)
- PythonとSeleniumで自動ログインを行う
- ワンランク上を目指す人のためのPython実践活用ガイド
- fin-py study #1 年金最適化入門 #finpy
- PythonJapan
Python構築メモ
今回の目的
- SeleniumとChromedriverが動くようにする
- PyCharmでやりたい
パッケージの追加はPreferenceでやらんほうがいいよ
コードを動かした時に、インタープリターの設定でエラーがでていたので、ここで指定したのよ。お友達にSeleniumなどのパッケージもここから入れられるよ〜と教えてもらったのだけど、どうやらここからやらないほうがいいらしい。
↑PyCharmの今の設定。実はここを参照していない。PyCharmのターミナルからバージョンを確認するとこう:
Python 3.10系はまだ使わないほうがいいよ
- 3.9系が安定しているとのこと。
- 最初に作業したときに、Macのターミナルで Python3 --version をしたら3.8系が表示されたの。なので公式のインストーラーで、ポチポチとインストールしたら、Applicationフォルダに 3.10系をインストールしてしまたのだけど、この作業は不要だったっぽい..
Python3があちこちに入っててよくわからないよ!
Python3があちこちに入っていてよくわからん状況でした。そしてどうしたらいいのかもワカラナイ!
トラブルシュートスタートです🏃♂️
状況把握#1 どのPythonが動いている?
以下のコードを実行するとどうなるの?
import sys
print(sys.version)
記録が残ってないのだけど、たしか3.10系が表示されたと思う。
今起動しているターミナル環境のPython3のパスを表示してみる。
🌼 % which python3
/Users/wagtail/workspace/github.com/Mikkegt/hoge/venv/bin/python3
🌼 % python3 -V
Python 3.10.4
3.10系が動いてます。
状況把握#2 どこにPythonが入っている?
🌼 % where python3
/Users/wagtail/workspace/github.com/Mikkegt/hoge/venv/bin/python3
/opt/homebrew/bin/python3
/usr/local/bin/python3
/Library/Frameworks/Python.framework/Versions/3.10/bin/python3
/usr/bin/python3
なんか、いっぱい出てきたし。自分がApplicationフォルダーにインストールしたのはどこいった?
optのPythonはどうなってる?
🌼 % /opt/homebrew/bin/python3 -V
Python 3.9.10
もともと3.9系も入ってたみたい。いつ入れた?記憶ないけど多分自分で入れたのだろう。
仮想環境を削除する
venv(ぶいえんぶ)をごっそり削除する。
PyCharmで新しいターミナルを開いて、再度状況確認します。
🌼 % which python
/usr/bin/python
🌼 % which python3
/opt/homebrew/bin/python3
仮想環境をつくるのよ
おまじない python3 -m venv venv を実行。
🌼 % python3 -m venv venv
🌼 % activate venv/bin/python
zsh: command not found: activate
activateコマンドがない。
もう一度状況確認。
🌼 % where python
/Users/wagtail/workspace/github.com/Mikkegt/note-analysis/venv/bin/python
/usr/bin/python
🌼 % where pip
/Users/wagtail/workspace/github.com/Mikkegt/hoge/venv/bin/pip
/opt/homebrew/bin/pip
pipを最新にする。pip install --upgrade pip でもいいみたいよ。
🍄 % pip install -U pip
Requirement already satisfied: pip in ./venv/lib/python3.9/site-packages (21.3.1)
Collecting pip
Using cached pip-22.0.4-py3-none-any.whl (2.1 MB)
:
:
Successfully installed pip-22.0.4
requirements.txt をつくってpipで一括インストール
プロジェクトのルートフォルダに requirements.txt をつくりまます。プロジェクト内で使いたいパッケージを requirements.txt に記載して pip すると、一括でインストールをやってくれるらしい。今回、selenium とだけ書いたけど、バージョンを指定して書ける。指定しないときは、最新がインストールされるとのこと。ちなみに chromedriver は、ここに含めない。
pipを実行。
🌼 % pip install -r requirements.txt
Collecting selenium
Using cached selenium-4.1.3-py3-none-any.whl (968 kB)
:
:
Successfully installed PySocks-1.7.1 .....
以下のコマンドで、pipでインストールしたパッケージの一覧が確認できる。
🌼 % pip freeze
async-generator==1.10
attrs==21.4.0
certifi==2021.10.8
cffi==1.15.0
:
:
PyCharmのターミナルでバージョンを確認します。
🌼 % python3 -V
Python 3.9.10
おおお。OKそう。次は chromedriver設置します。
(あれ? activate venv/bin/python はどこいった?)
chromedriverを設置する
Chromeのバージョンを調べて(99.0.4844.84でした)、ここから近しいバージョン(今回は 99.0.4844.51)をダウンロードします。解凍してプロジェクトのルートフォルダへ配置。venvの中にはいれちゃだめらしい。
main.py に以下のコードを書いて実行します。
from selenium import webdriver
browser = webdriver.Chrome('./chromedriver')
browser.get('https://google.com')
わーーーー!ぶじに起動した〜 🎊 ありがとうございますっ🙏
おわりに
昨晩床についたのが1時で、5時半起床だったので眠い..
他に優先度高いタスクがいっぱいあって、ほんとはブログを書いている場合ではないのだが、あとにしたら絶対やらんので、やるなら今!という勢いで書きました。
その場でアウトプットしながらの振り返り大事〜(えらい〜)
pip(ぴっぷ)をぴっぴと読んでいたのが今日のハイライト..🐥
でも今後もぴっぴって呼んじゃうと思う。