さらいふ

Macでpip installしたのにimportできない対処法

投稿日 : 2020/9/12 6:01:03

タグ : #salad's memo#Python#Flask#旧ブログシステム

warningこの記事は作成から一年以上が経過しています

最新のコードやバージョンに対応していない場合があります。ご了承ください。

はじめに

どうもさらだです。とても久しぶりの投稿になりました。今回はmacでpython3を使っているときに少し手間取ったことを書きたいと思います。

僕の環境は以下の通りです

python3.8.2 (Homebrewでインストール)
MacBookAir 2020

で、実行してエラーが出たコードがこちらです。

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    name = "Hello World"
    return name

@app.route('/good')
def good():
    name = "Good"
    return name

if __name__ == "__main__":
    app.run(debug=True)

エラー内容

myname@MacBook-Air test % python3 server.py
Traceback (most recent call last):
  File "/Users/myname/Desktop/test/server.py", line 1, in <module>
    from flask import Flask
ModuleNotFoundError: No module named 'flask'

このように「Flaskが見つからないよー!」っていうエラーが発生します。もちろんpip installでインストール済みです。念のためもう一度インストールすると、

Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: flask in /Users/myname/Library/Python/2.7/lib/python/site-packages (1.1.2)

と、なりalreadyなのですでにインストールされています。

ここでもう上級者の人は分かったのではないでしょうか。よくみてみてください。インストール先が

/Users/myname/Library/Python/2.7/lib/python/site-packages (1.1.2)

となっています。

そうです。2.7 = Macのデフォルトのものに入っていたのです!

これは事件です

ではどうすればいいのか。
ネットで調べて出てきたのがこちら!

python3 --m pip install flask

実行しました!
すると、、、、

ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Python/3.8'
Consider using the `--user` option or check the permissions.

エラーが発生!(ネットの情報って信用したらダメだね)

まぁしっかり対処法が書いてます。
最後の文

Consider using the `--user` option or check the permissions.

オプションで--userをつけろって言ってはります。
実行しました。

python3 -m pip install flask --user
Collecting flask
  Using cached https://files.pythonhosted.org/packages/f2/28/2a03252dfb9ebf377f40fba6a7841b47083260bf8bd8e737b0c6952df83f/Flask-1.1.2-py2.py3-none-any.whl
Collecting itsdangerous>=0.24 (from flask)
  Using cached https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl
Collecting Jinja2>=2.10.1 (from flask)
  Using cached https://files.pythonhosted.org/packages/30/9e/f663a2aa66a09d838042ae1a2c5659828bb9b41ea3a6efa20a20fd92b121/Jinja2-2.11.2-py2.py3-none-any.whl
Collecting click>=5.1 (from flask)
  Using cached https://files.pythonhosted.org/packages/d2/3d/fa76db83bf75c4f8d338c2fd15c8d33fdd7ad23a9b5e57eb6c5de26b430e/click-7.1.2-py2.py3-none-any.whl
Collecting Werkzeug>=0.15 (from flask)
  Using cached https://files.pythonhosted.org/packages/cc/94/5f7079a0e00bd6863ef8f1da638721e9da21e5bacee597595b318f71d62e/Werkzeug-1.0.1-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10.1->flask)
  Using cached https://files.pythonhosted.org/packages/0c/12/37f68957526d1ec0883b521934b4e1b8ff3dd8e4fab858a5bf3e487bcee9/MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl
Installing collected packages: itsdangerous, MarkupSafe, Jinja2, click, Werkzeug, flask
  WARNING: The script flask is installed in '/Users/myname/Library/Python/3.8/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1 click-7.1.2 flask-1.1.2 itsdangerous-1.1.0
WARNING: You are using pip version 19.2.3, however version 20.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

できました!
やったね!

まとめ

結論 : python3にpip install するときはとりあえず、

python3 -m pip install <インストールしたいもの> --user

をしたら解決!

さらだぼぉる

[非公式]滋賀県コロナまとめサイトをはじめとした滋賀情報ネットプロジェクトといった地域情報を発信する取り組みをしている。 2022年10月現在高校三年生で滋賀在住。 PythonやSvelteKitが最近のお気に入り。