見出し画像

M2 MacbookAirでPython環境構築してみた

ホリエモンがChatGPT×Pythonのプログラミングスクール作ったことは知っていて、普段からChatGPT使っている身としてプログラミングにも興味はあったので満を持してPythonを入れることにした。これはその奮闘記である。

ホリエモンのやつ↓

まずこの動画をそのままトレースした。

Alfredはマナブログの影響で使いもしないPowerpackまで買ってる重課金者だ。これから使うもん。そういえば最近マナブログさんがX復活してた。最新版↓

旧版↓

マナブログさんのX(旧Twitter)
https://twitter.com/manabubannai?s=20 @manabubannai

Alfred(ラウンチャーアプリ、アプリの起動が爆速になる。爆速でぶち当てろ!)のリンク↓

Visual Studio Code(エディター)のリンク↓

Docker(デスクトップ版)コンテナ型の仮想環境構築ツール、Webアプリケーションを作るときに自分のローカルの環境で開発できる
のリンク↓

Homebrew(パッケージ管理マネージャー)開発に必要なツール例プログラミング言語、データベースなどをインストールして管理するためのツール
のリンク↓

https://brew.sh/index_ja

nvm(M1チップ以降に対応したNode.jsのパッケージ管理ツール)のリンク↓

pyenv(M1チップ以降のPythonのバージョン管理ツール)のリンク↓

・pyenvの設定(Zsh)

最初はうまくいかなったところ
・pyenvの設定(Zsh)

そこでChatGPT大先生の登場です。

ModuleNotFoundError: No module named '_lzma'
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?

と表示された。

ChatGPT「エラーから、Python 3.12.0のインストール時にlzma拡張がコンパイルされなかったことがわかります。これはlzmaライブラリが欠落している可能性を示しています。この問題を解決するためには、lzmaライブラリをインストールし、Pythonを再インストールする必要があります。以下の手順を試してみてください。

  1. lzmaライブラリのインストール: ターミナルで以下のコマンドを実行して、lzmaライブラリをインストールします:

brew install xz

2.Pythonの再インストール: lzmaライブラリをインストールしたら、Python 3.12.0を再インストールします:

pyenv install 3.12.0

3.インストールの確認: 再インストールが成功したかどうかを確認するために、以下のコマンドを実行します:

pyenv versions

4.グローバルバージョンの設定: 再インストールが成功したら、Python 3.12.0をグローバルバージョンとして設定します:

pyenv global 3.12.0

これで、Python 3.12.0が正しくインストールされ、lzmaエラーが解消されるはずです。それでも問題が解決しない場合は、さらに詳細な情報やエラーメッセージを提供してください。それにより、問題の解決に向けてより具体的な指示を提供することが可能になります。

上記のコマンドは、~/.zshrc ファイルに pyenv の初期化と設定に関連する行を追加しています。これにより、ターミナルが起動するたびに pyenv が自動的に初期化されるように設定されます。ここでは、各コマンドが行っていることを説明します。

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc

このコマンドは、PYENV_ROOT 環境変数を設定し、pyenv のルートディレクトリを指定しています。このディレクトリは、pyenv がインストールされた場所であり、Python のバージョンが格納されています。

echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc

このコマンドは、pyenv コマンドが存在するかどうかを確認し、存在しない場合には PATH 環境変数に pyenv のバイナリディレクトリを追加しています。これにより、pyenv コマンドがターミナルからアクセス可能になります。

echo 'eval "$(pyenv init -)"' >> ~/.zshrc
  1. このコマンドは、pyenv を初期化するコマンドを ~/.zshrc ファイルに追加しています。これにより、ターミナルが起動するたびに pyenv が自動的に初期化されます。

これらのコマンドは正しく入力されているように見えますが、変更を有効にするにはターミナルをリスタートするか、以下のコマンドを実行して ~/.zshrc ファイルを再読み込みする必要があります。

source ~/.zshrc

これで、設定が適用され、pyenv が正しく動作するはずです。それでも問題が発生する場合は、問題の詳細やエラーメッセージを提供してください。それにより、より具体的なサポートを提供することが可能になります。」

zsh: command not found: python

のエラーが出た。

ChatGPT「pyenv の設定は正しく入力されているように見えますが、python コマンドが見つからないというエラーが発生しています。いくつかの可能な解決策を試してみてください。

  1. pyenv の設定を確認:

    • pyenv versions コマンドを使ってインストール済みの Python バージョンをリストしてみてください:

pyenv versions
  1. グローバル Python バージョンを設定:

    • もしまだ設定されていない場合は、pyenv でグローバル Python バージョンを設定してみてください:

pyenv global 3.12.0
  1. ~/.zshrc ファイルの内容を確認:

    • cat ~/.zshrc コマンドを使って、~/.zshrc ファイルの内容を確認してください:

cat ~/.zshrc
  1. ターミナルの再起動:

    • ターミナルを完全に閉じてから再度開き、python --version コマンドを再試行してみてください。


  1. pyenv doctor の実行:

    • pyenv doctor コマンドを使って、pyenv の設定に問題がないか確認してください:

pyenv doctor

これらの手順を試しても問題が解決しない場合は、さらに詳細な情報を提供してください。それにより、問題の解決に向けたより具体的な指示を提供することが可能になります。また、エラーメッセージや ~/.zshrc ファイルの内容、pyenv versions および pyenv doctor の出力を提供していただくと、問題の解析に役立ちます。」

 setting for nvm
export NVM_DIR="$HOME/.nvm"
  [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  

ChatGPT「提供された~/.zshrcファイルの内容に基づいて、pyenvに関する設定はこのファイルに含まれていないようです。nvm(Node Version Manager)の設定は見られますが、pyenvの設定は見当たりません。これがpythonコマンドが見つからない原因となっています。

先に実行した pyenv の設定コマンドは効果がなかったようです。再度、pyenv の設定を~/.zshrcファイルに追加する必要があります。以下の手順を実行してください。

  1. ターミナルを開き、以下のコマンドを実行して pyenv の設定を ~/.zshrc ファイルに追加します:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

2.~/.zshrc ファイルを再読み込みして設定を反映します:

source ~/.zshrc

3.Python のバージョンを確認します:

python --version

これらの手順を実行した後、pythonコマンドが認識され、正しいバージョンが表示されるはずです。それでも問題が解決しない場合は、さらに情報を提供してください。それにより、問題解決のためのより具体的なアドバイスを提供することが可能になります。」

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

「これが~/.zshrc ファイルに追記されてないけど良いのかな?」

ChatGPT「~/.zshrcファイルにpyenvの設定が正しく追記されていないにも関わらず、python --versionコマンドが正しく動作していることは奇妙に思えるかもしれません。ただし、これらの設定は通常、pyenvが正しく動作するために~/.zshrcに追加する必要があります。

source ~/.zshrcコマンドを実行すると、現在のターミナルセッションで~/.zshrcファイルの内容が読み込まれます。しかし、ターミナルを閉じて再開すると、~/.zshrcファイルの内容が再度読み込まれ、追加されたpyenvの設定が失われる可能性があります。

これを確認するために、以下の手順を実行してください:

  1. ターミナルを閉じて新しいターミナルウィンドウを開きます.

  2. 新しいターミナルウィンドウで、以下のコマンドを実行してPythonのバージョンを再度確認します:

python --version

もしpython --versionコマンドがzsh: command not found: pythonエラーを返す場合は、pyenvの設定が~/.zshrcファイルに正しく追加されていない可能性があります。

この場合、以下の手順を実行してpyenvの設定を手動で~/.zshrcファイルに追加することができます:

  1. テキストエディタを使用して~/.zshrcファイルを開きます.

open ~/.zshrc
  1. ファイルの末尾に以下の行を追加します:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
  1. ファイルを保存し、ターミナルでsource ~/.zshrcコマンドを実行して設定を読み込みます:

source ~/.zshrc

これで、pyenvの設定が~/.zshrcファイルに正しく追加され、ターミナルを再起動してもPythonが正常に動作するはずです。それでも問題が解決しない場合は、お知らせください。」

なんとかできた。疲れた。明日もPythonやろ

では、また!


頂いたお金はすべて本に使わさせていただきます。