成長観察日記

競プロとかPythonとかに関しての成長記録

VScodeでnumpyが使えない!を解決した

波線が出てnumpyが使えない!を半年以上続けたやつ! やっと解決したよ!!



環境



結論

インタープリターの選択を正しくしたらいけた!!

  • Command + Shift + P

  • 普段使ってるやつを選択

  • \やったー/



やったこと

そもそもインストールされてるか確認

VScodeのターミナルで以下を叩く

$ pip list

出るやつ

Package                 Version
----------------------- -----------
.
.

jsonschema              4.16.0
lxml                    4.9.1
numpy                   1.23.5  #いる!!!
online-judge-api-client 10.10.1
online-judge-tools      11.5.1
.
.
.

いた。 いなかったら

$pip install numpy

こちらをターミナルで叩いてインストールしましょう



numpyの場所を確認する

叩くコマンド

$pip show numpy

出るやつ
「Location」を見ましょう

Name: numpy
Version: 1.23.5
Summary: NumPy is the fundamental package for array computing with Python.
Home-page: https://www.numpy.org
Author: Travis E. Oliphant et al.
Author-email: 
License: BSD
Location: /Users/XXX/.pyenv/versions/pypy3.8-7.3.7/lib/pypy3.8/site-packages    #ここ!!
Requires: 
Required-by: 



パス通ってるか見る

pythonファイルに以下を書き込み実行

import sys
import pprint

pprint.pprint(sys.path)

出るやつ の中に
pip show numpy で出てきた Locationの項目があるか確認

['/Users/XXX/Documents/今いる場所',
 '/Users/XXX/.pyenv/versions/pypy3.8-7.3.7/lib/pypy3.8',
 '/Users/XXX/.pyenv/versions/pypy3.8-7.3.7/lib/pypy3.8/plat-mac',
 '/Users/XXX/.pyenv/versions/pypy3.8-7.3.7/lib/pypy3.8/plat-mac/lib-scriptpackages',
 '/Users/XXX/.pyenv/versions/pypy3.8-7.3.7/lib/pypy3.8/site-packages']  #いる!!!

ここにいなければ、足してあげてください。 やり方はこちらを参考にするとよいです。

note.nkmk.me



そしてインタープリター選択

をしたら、無事にnumpyが使えました!やったね!!

使えるんだけどめっちゃ足りないやつがあるらしく、実行すると

/Users/XXX/.pyenv/versions/pypy3.8-7.3.7/lib/pypy3.8/site-packages/numpy/core/_add_newdocs.py:2922: UserWarning: add_newdoc was used on a pure-python object <bound method __class_getitem__ of <class 'numpy.ndarray'>>. Prefer to attach it directly to the source.
  add_newdoc('numpy.core.multiarray', 'ndarray', ('__class_getitem__',
/Users/XXX/.pyenv/versions/pypy3.8-7.3.7/lib/pypy3.8/site-packages/numpy/core/_add_newdocs.py:6243: UserWarning: add_newdoc was used on a pure-python object <bound method __class_getitem__ of <class 'numpy.dtype'>>. Prefer to attach it directly to the source.
  add_newdoc('numpy.core.multiarray', 'dtype', ('__class_getitem__',
/Users/XXX/.pyenv/versions/pypy3.8-7.3.7/lib/pypy3.8/site-packages/numpy/core/_add_newdocs.py:6755: UserWarning: add_newdoc was used on a pure-python object <bound method __class_getitem__ of <class 'numpy.number'>>. Prefer to attach it directly to the source.
  add_newdoc('numpy.core.numerictypes', 'number', ('__class_getitem__',

って出てきた後に結果が吐かれる

くう…でも使えるからとりあえずいいや