13
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初めてのPythonで "error: externally-managed-environment" を解決する

Last updated at Posted at 2024-07-09

これが完璧な解決策かは、わかりません。もっと良い方法があれば、教えてください。

前提

  • 初めてに近い状態で、Python を使う
  • Python の様々なモジュールを使う
  • Homebrew で Python をインストール
  • macOS (Apple Silicon)

背景

OpenAI の API を使って、様々な作業をさせるPythonスクリプトを作ろうと思い、Pythonを学び始めました。

しかし、モジュール(ライブラリ?)のインストールで、躓きまくりました。最終的には、エラーメッセージに案内される方法で解決しました。

Pythonのインストール

homebrew を使います。詳しくは、たくさん記事があるので、それを参考にしてください。複雑なことは何もありません。

brew install python@3.12

モジュールのインストールでエラーが出る

次に、使いたいモジュールをインストールしようとすると、エラーが発生

pip3 install openai

エラー画面

後で分かったことですが、エラーメッセージの理解を間違いました。

If you wish to install a Python library that isn't in Homebrew,
use a virtual environment:

python3 -m venv path/to/venv
source path/to/venv/bin/activate
python3 -m pip install xyz

homebrewの中ではないPythonライブラリを使いたいなら、以下のコマンドを実行せよとのこと。私は、続くしたのメッセージにしたがってしまって、ハマってしまいました。

If you wish to install a Python application that isn't in Homebrew,
it may be easiest to use 'pipx install xyz', which will manage a
virtual environment for you. You can install pipx with

brew install pipx

Homebrewの中ではない Pythonアプリケーション を使いたいなら、 pipx だと。アプリには、pipxということらしい。

では、homebrew の中の Python Library が使いたい場合はどうしたらいいの?という疑問が湧きますが、その時は別の方法?と思いきや、その方法はなさそうでした(私調べ)。

解決方法

少し面倒ですが、Pythonライブラリのインストールや、コードを勉強したり、実行するときは「仮想環境」を立ち上げて行うようにすることです。上記のメッセージ通りにやるだけです。

まず、仮想環境を起動するためのファイル群を生成します。このファイル群は、どこにおいてもOKなので、ホーム直下に置くことにしました。名前も、 mypy です。適当です。

python3 -m venv ~/mypy

Pythonでライブラリ(パッケージ)をインストールしたり、コードを書いて、実行するときは、必ず以下のことをします。

source ~/mypy/bin/activate

すると、ターミナルのプロンプト前方に「 (pyvenv) 」とつくようになります。この状態で、pipコマンドなどで、必要なライブラリをインストールします。※ notice が出る場合は、言われた通りにコマンドを実行したら解決します(後述)

pip3 install openai

プログラミングが終わったら、

deactivate

とします。このコマンドは、仮想環境を動かしている時だけ使えます。

おまけ1 : 仮想環境の簡単呼び出し

ちょっとだけ面倒ですよね?そこで、エイリアス(別名コマンド)を追加します。

nano ~/.zshrc 

などで、zシェルの設定ファイルを開いて、以下のように記入します。

alias gopy = 'source ~/mypy/bin/activate'

これで次回からは、以下で仮想環境がスタートします。

gopy

おまけ2 : pip のバージョン問題

以下のようなメッセージが出ることがあります。

[notice] A new release of pip is available: 24.0 -> 24.1.2
[notice] To update, run: pip install --upgrade pip

シンプルに

pip install --upgrade pip

とすればOKです。

おまけ3 : Visual Studio Codeの設定

Visual Studio Code内のターミナルをひらけば、すぐに仮想環境で実行できます。

1.png

2.png

3.png

13
6
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
13
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?