VSCode で Python を独習しているのだけど、最近、起動後の初回実行時のみ謎エラーが出るようになった。
PS D:\\Users\\hotta\\99_PythonBootCamp> C:/Users/hotta/Anaconda3/Scripts/activate
PS D:\\Users\\hotta\\99_PythonBootCamp> conda activate base
conda : 用語 'conda' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:1
+ conda activate base
+ ~~~~~
+ CategoryInfo : ObjectNotFound: (conda:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
2回目以降は出なくなるのだけど、いずれ仮想環境も勉強しないといけなくなるので調べてみた。
conda というコマンドがないと言っている。conda は Anaconda に含まれる管理コマンドらしい。
以前『みんなのPython第4版』を見ながらチュートリアルをやったことがあって、その本の手順の中で Anaconda をインストールした(らしい、以下同文)。
Anaconda は、Python に対してデータサイエンス向けのパッケージ等を提供するプラットフォームとのこと。Anaconda の中に Python 本体を含めて配布しているので、本家で配っている Python とは競合する。
今回やっているチュートリアルは Python Boot Camp テキストだけど、この前提事項では Python 本家サイトから Windows インストーラーをダウンロードして入れることになっている。
ちなみに Windows10 では、PowerShell で Python とタイプすると、Python が入っていない場合は自動的に Microsoft Store が起動して、そこから1クリックで Python インストーラーをダウンロードできるようになっている(ように見える)ので、この手順でインストールした。
つまり、自分の場合、先に Anaconda を入れて、その後に Microsoft Store 版で上書きした、ということになる。
(2020/02/17 追記)Python の偉い人に聞いたところ、Microsoft Store でインストールできる Python は本家 Python “ではない” とのこと。このため、もともとこの記事で本家 Python と書いていた箇所は Microsoft Store 版 Python(以下ストア版)に訂正しました。
結果的に、現在システムに以下の2つの Python が同居している状態となっている。
・Anaconda3 (C:/Users/ユーザ名/Anaconda3/python.exe)
・ストア版 Python → どこ?
PS D:\Users\hotta\99_PythonBootCamp> which python
C:\Users\hotta\AppData\Local\Microsoft\WindowsApps\python.EXE
これにより、ストア版 Python は AppData 配下にインストールされ、システムの PATH はこのストア版を向いていることがわかる。
『pyenvが必要かどうかフローチャート』を読んで考えた結果、そのままストア版を使うことにした。後は VSCode をこれにあわせてやればよい。
長くなってしまったが、対応方法は以下の通り。
- VSCode>管理>コマンドパレット>”Python: インター” で検索
- 『Python: インタープリターを選択』をクリック
- Python 3.6.4 64-bit (‘base’: conda)
- Python 3.7.6 64-bit
明らかに上のものが選ばれていて初期化に失敗しているので、下のもの(condaなしの方) を選択すれば OK 。
今回は一応解決はしたものの、今後いろいろとハマりそうな気配‥。
(2020/02/17 追記)その後、ある程度手順を確立できたので、VSCode+venvとして記載。