0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

M1macにhomebrew,pyenvを使ってPythonをインストールしようとしたらエラーがでた

Last updated at Posted at 2021-06-13

#環境
M1 mac book pro
macOS Big Sur 11.4
hyper 3.0.2
hombrew 3.1.12
pyenv 2.0.1

#状況
フロントエンド中心に勉強していたのですが、WEBエンジニアに興味を持ちサーバーサイドの勉強をはじめました。インターンシップに応募するにあたりnode.jsやGo言語を勉強しようと思ったのですがコーディングテストではCかPythonがいいということを小耳に挟んだためコーディングテストのためだけにPythonの開発環境を整えることにしました。

Homebrewは元から入っておりpyenvもインストールしたのですが肝心のPythonがインストールできず、という状況です。

#エラー文

pyenv install 3.9.5

とコマンド打ったところ

WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
と言うエラー文が出てきました。

#解決手順
###1
エラー文の下にここを参照してと書いてあるので見ます。
Please consult to the Wiki page to fix the problem.https://github.com/pyenv/pyenv/wiki/Common-build-problems

###2
「The Python readline」についての記述が見つかりません。なので、一番上の「トラブルシューティングを行う前にPythonのバイナリ依存関係とビルドツールをインストールしてください。」という指示に従いましょう。
↓このリンクに飛びます
https://github.com/pyenv/pyenv/wiki#suggested-build-environment

###3
Xcode Command Line ToolsとHomebrewをインストールしてから↓を打てって書いてあります。

brew install openssl readline sqlite3 xz zlib

Homebrewの確認はpyenvのインストールにも使ってるので今回は飛ばします。
Xcode command Line Toolsは入れてるか怪しかったので確認します。

xcode-select --install

と打つと「すでにインストールされてますよ」とでてきました。(そもそもHomebrewを入れるのにコマンドラインツールが必要だったみたいです)
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

###4
HomebrewとXcode Command Line Toolsがインストールされてることが確認できたら先程のページに戻り下記コマンドを打つ段階から始めます。

brew install openssl readline sqlite3 xz zlib

コマンドを打つと
Warning: openssl@1.1 1.1.1k is already installed and up-to-date.
インストールはされてるっぽいですが下にエラー文が出てきました。
Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)! To rerun under ARM use:arch -arm64 brew install ...

どうやらARMの環境下ではarch -arm64を先頭につけてコマンドを打たなきゃいけないようです。
なのでarch -arm64 brew install openssl readline sqlite3 xz zlibと打ちましょう。

###5
pyenv install 3.9.5と打っても同じエラー文が出てきてしまったので全てにarch -arm64をつけました。

arch -arm64 brew install pyenv
arch -arm64 pyenv install 3.9.5

これでインストールできると思います。

#確認

pyenv global 3.9.5

と打ってから

python versions

と打つと* 3.9.5 (~と出てきました。”が”

Python versions

と打ってもPython 2.7.16とmacに元から入ってるバージョンが出てきてしまいます......
とは言え、vscodeでPythonファイルを「ターミナルで実行」するとopt/homebrew/opt/python@3.9/bin/python3.9と出てきているのでPython 3.9.*が使えてるみたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?