Gilja's logs of the struggles with programming

シン母駆け出しエンジニアの奮闘記

Python DAY1: 基本とインストール

基本

初学者の基本の勉強といえばProgate!

ということでサクサクっと!

Python Ⅴまで修了!!

忘れつつあるRubyの文法にそっくりなので

すっと入ってきました〜

なるほどなるほど〜

インストール

完全に罠にかかったので備忘録として

macOS Monterey 12.2.1

#①標準搭載Pythonバージョン確認(インストール確認)
% python --version
-> Python 2.7.18
#②Homebrewバージョン確認(インストール確認)
% brew -v
-> Homebrew 2.4.9
#③pyenvバージョン確認(インストール確認)
% pyenv -v
-> zsh: command not found: pyenv
#④pyenvインストール
% brew install pyenv

#⑤3と同様
% pyenv -v
-> pyenv 2.2.4
#▼後からここが違うことに気づく▼
#⑥初期設定を.zshrcに記述(シェル確認から)
% echo $SHELL
-> /bin/zsh
% echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
% echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
% echo 'eval "$(pyenv init -)"' >> ~/.zshrc

#⑦.zshrc更新
% source ~/.zshrc
#⑧インストール可能なPythonバージョン確認
% pyenv install --list
-> Available versions:
  2.1.3
  2.2.3
  ...

#⑨pythonインストール
% pyenv install 3.10.2
->
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.10.2.tar.xz...
-> https://www.python.org/ftp/python/3.10.2/Python-3.10.2.tar.xz
Installing Python-3.10.2...
python-build: use tcl-tk from homebrew
python-build: use readline from homebrew
python-build: use zlib from xcode sdk

BUILD FAILED (OS X 12.2.1 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/py/8_805bcs4ys9wkrdlptvxt3w0000gn/T/python-build.20220221135150.80429
Results logged to /var/folders/py/8_805bcs4ys9wkrdlptvxt3w0000gn/T/python-build.20220221135150.80429.log

Last 10 log lines:
checking for python3... python3
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... "darwin"
checking for gcc... clang
checking whether the C compiler works... no
configure: error: in `/var/folders/py/8_805bcs4ys9wkrdlptvxt3w0000gn/T/python-build.20220221135150.80429/Python-3.10.2':
configure: error: C compiler cannot create executables
See `config.log' for more details
make: *** No targets specified and no makefile found.  Stop.

Progateの情報が古いことに気づかず

調子こいてOSバージョン即上げしてたことも仇になり

ここで躓く。

Pythonバージョン

Montereyで動作確認できているものをちゃんと調べた方が良さそうだ。

【随時更新予定】macOS 12.2 Monterey上のpyenvで環境構築可能なPythonのバージョンの備忘録 - Qiita

バージョンは合ってるようだ。

エラーで検索

www.takapy.work [MacOS Mojave]pyenvでpythonのインストールがzlibエラーで失敗した時の対応 - Qiita

該当せず。

公式先にみとけばよかった

github.com

Python環境構築ガイド - python.jp

見ても解決法がなく、更にエラーで検索

X-code最新版入ってるけど対応してないパターン発見 pyenv install 3.x.x で error: C compiler cannot create executables - Qiita この記事どおり、beta版インストール(20分くらいかかった)

いざー…いざー…

$ LDFLAGS="-L$(xcrun --show-sdk-path)/usr/lib" pyenv install 3.10.2
->
BUILD FAILED (OS X 12.2.1 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/py/8_805bcs4ys9wkrdlptvxt3w0000gn/T/python-build.20220221152646.84633

なーーーにーーーっ!?

ダメ元で普通にやってみる

% pyenv install 3.10.2
->
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.10.2.tar.xz...
-> https://www.python.org/ftp/python/3.10.2/Python-3.10.2.tar.xz
Installing Python-3.10.2...
python-build: use tcl-tk from homebrew
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.10.2 to /Users/*-gilja-*/.pyenv/versions/3.10.2

なぁーーーにぃーーーっ!!??嬉

ここから意外と長い

楽勝っしょー?

#⑩バージョン確認
% pyenv versions
->* system (set by /Users/*-gilja-*/.pyenv/version)
  3.10.2

#11  3.10.2をグローバルに設定
% pyenv global 3.10.2
#12 変わったか確認
% python --version
->Python 2.7.18

あれ?かわらないんだけど。

pyenvでPythonのバージョンが切り替わらないときの対処方法【M1 Mac環境】 | ヒトリセカイ

M1じゃないしなぁ。

pyenv 切り替えできない

Python pyenv アップデートでpathの設定が変更 - IT技術で仕事を減らしたい!

同じ人がいた! うんもっかい公式見よう。 公式信じて⑥を書き直そう!

.zprofile.zshrcの2ファイル用意するってなってっぞ! なんだよ、.zprofileって!

zshrcとzprofileについて - gallardo diary

んん…なんとなくわかった とりまviで編集しま!

% vi ~/.zprofile
# i で編集モード
#▼追記▼(.zshrcに書いてたものを移す)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
#  escで編集モード終わり :wで保存 :qでviモード終わり

% vi ~/.zshrc
# i で編集モード
#▼変更▼
eval "$(pyenv init -)"
#  escで編集モード終わり :wで保存 :qでviモード終わり

# 反映
% source ~/.zshrc
% source ~/.zprofile
# 改めて
% pyenv global 3.10.2
% pyenv rehash
% python --version
->Python 3.10.2

やっと完了!

初めて新しい言語を一人でインストールしてみるも、 時間がかかり過ぎて草 無能すぎて草

はい。これくらいではへこたれません!