【Python】VscodeのデバックでNumpyがインポートできないエラーを起こった話

どうも湊(@python_mllover)ですー。先日Pythonで開発作業を行っていたところVSCodeのデバック環境でNumpyがインポートできない現象に陥りました。

パソコン:Windows10

環境Python3.73

具体的な症状としては↓

AnacondaPromptからならインポートできるのにVSCodeからデバッグコンソールでPythonを起動するとNumpyが何故かインポートできない。

Numpyがインポートエラーを起こす原因

色々調べて分かったのは、VSCODEでNumpyがインポートできないのは、Anaconda環境のPATHがVscodeのデバックで起動しているコマンドプロンプトに通っていないこと、これが原因っぽい。

まとめ

Q.Numpyがインポートできない

A.

①AnacondaのPATHを通す

②conda activateで一時的にAnacondaのPathをシステムに通す

③Numpyがインストールしなおす

これらをやると大体治ると思います。結局Vscodeのデバッグコンソールは起動する際にconda activateを自動で実行してAnaconda環境のPathを通しています。ここでうまくPathが通っていないとNumpyがエラーを起こす。

理屈自体はよくあるコマンドプロンプトでpythonが実行できないのと同じです。conda自体が通らない場合は環境変数にcondaのPATHを通す必要があるが最新のAnacondaではインストール時に環境変数にAnacondaのPATHを通すのは非推奨になっている。

恐らく既にほかのアプリケーションをインストールしている場合、Anacondaインストール時にAnacondaのpython.exeのPATHを追加してしまうと、もし他のアプリケーションがPythonをバックで使用していた場合PATHが上書きされてしまうためエラーを起こすことがあるためそれを懸念してのことなんだと思います。

例えばデフォルトでPythonが入っているMACなどは、Anacondaが環境変数を書き換えると他のアプリケーションにエラーをきたすことがます。そのためMACとAnacondaは相性が悪いと言われています。

なので最近はAnacondaインストール時に環境変数にPATHを追加しないことを推奨し始めたのでしょうけど、Windows環境ならAnacondaのPythonのPATHを環境変数に追加していた方が便利ですね。

関連記事

コマンドプロンプトでpythonが実行できない原因と対処法

Anaconda環境はエラーハンドリングのめんどくささを加味しても圧倒的に便利なソフトウェアなわけなんですけど、仕組みがややこしい分謎にハマるエラーが多いのがネックですね。

まあ何年もPythonを使って環境エラーにぶち当たっているとエラーの原因も絞りこみやすくなってきたりと慣れてくるもんですが、初めての方がこれに当たるとPython嫌いになっちゃうでしょうね・・・。

まあわかればどうしたことでもないのですが、環境構築で詰まるとモチベも下がりますし嫌ですよね。

プログラミングの独学はとても難しい


プログラミングは小学校の義務教育にも導入され始めており、これから社会人として生きていく上でプログラミングはもはや出来て当たり前、出来なれば論外というエクセルレベルの必須スキルになりつつあります。そしてそういう話を聞いて参考書なりを購入して独学でプログラミング勉強しようと思っている人も少なくないでしょう。しかしプログラミングを独学で勉強し始めようと思うものの



・「分からない箇所で詰まって挫折してしまった」

・「勉強する時間が足りない」

・「ネットの記事だと情報が断片的でよくわからない」

・「コードのエラーの原因が分からない」



という壁にぶち当たって、プログラミングの勉強を止めてしまう方が少なくありません。独学でプログラミングを勉強してる時間のほとんどはつまづいている時間です。実際僕も最初のころ独学でプログラミングを勉強していた頃はエラーの原因が分からず丸1日を不意にしてしまった・・・そんな苦い経験がありました。



それで僕は一度はプログラミングの学習を諦めてしまいましたが、就活で現実を知る中で「プログラミングを勉強して、いずれフリーランスとして自由な生き方がしたい」「エンジニアとして若いうちから高収入を得たい」という気持ちから一念発起して「侍エンジニアのwebサービスコース」に申し込み、プロのエンジニアの方に対面でマンツーマンでPythonによるWebサービス作り方とWeb技術の基本を教えてもらい、ようやくプログラミングが理解でき、今ではエンジニアとしてそこそこの暮らしができるようになりました。





侍エンジニアでは、とりあえずプログラミングやインターネットの基本を知っておきたい人から、HTML・cssなどでWebサイトやWebアプリを作ってみたい人やPythonを勉強してデータサイエンティストやAIエンジニアになりたい人まで幅広いニーズに応えた様々なコースが用意されています。



IT業界と言ってもエンジニアの仕事はプログラミング言語次第でサーバーから機械学習・ディープラーニングまで多種多様ですし、侍エンジニアの無料レッスン(カウンセリング)を受けてみて、自分のやりたいITの仕事は何なのか?を見つけるのがエンジニアへの第一歩になります。ちなみに今侍エンジニアの無料レッスンを受けると1000円分のAmazonギフト券がもらえるので、試しに受けてみるだけもお得です。


自分は半端に独学やオンラインスクールで勉強して金と時間を無駄にするくらいなら、リアルのプログラミングスクールに通ってしっかりプログラミングを勉強した方がいいと思います。ちなみに今、侍エンジニアに申し込むと、25歳以下の学生の方であれば、受講料が20%OFFになるので超お得です。


そして、プログラミングは大勢で授業を受けたり漫然とオンライン学習をするよりも自分が分からない箇所をピンポイントでプロの講師に直接質問して、ちゃんと納得するというスタイルの方がお金は確かに少し掛かりますが、独学で学ぶよりも絶対にモノになります。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする

   侍エンジニア塾       
侍エンジニアの無料体験レッスンを予約する -->