質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

2251閲覧

VSCode、初回実行時の謎エラーをなくしたい(python)

asasika

総合スコア7

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/08/02 04:18

前提・実現したいこと

VSCode初回実行時に起こる原因不明なエラーをなくしたいです。

PythonでVSCodeを使っているのですが、新しい仮想環境をminicondaで作った後の初回実行時に必ずターミナルで赤い文字でエラーが出ます。二度目からは出なくなるのですが、気になってしまうのでなくしたいです。
初学者ですよろしくお願いします。

発生している問題・エラーメッセージ

conda : 用語 'conda' は、コマンドレット、関数、スクリプト ファ そのパスが正しいことを確認してから、再試行してください。 発生場所 行:1 文字:1 + conda activate zik + ~~~~~ + CategoryInfo : ObjectNotFound: (conda:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

該当のソースコード

print('teratail')

試したこと

ネットにVSCodeでcondaと書いていないほうのインタープリターを選択すれば直ると書いてありましたがそれだと作った仮想環境ではなくなるのでは?と思い良くわかってない状況です。
あと、二つのpythonが同居しているとも書いていましたが、それも良くわかりませんでした。

補足情報(FW/ツールのバージョンなど)

python  VSCode使用、仮想環境製作にはMINICONDAを使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

デフォルトのシェルをPowerShellからコマンドプロンプトに変更してみてはどうでしょうか。
コマンドプロンプトならエラーが表示されなくなると思います。

デフォルトのシェルは
1.Ctrl + shift + Pでコマンドパレットを開く
2.Terminalと打ってTerminal:Select Default Shellを選択
3.Command Promptを選択
でコマンドプロンプトに変更できます。


以下説明

Python拡張では、選択した仮想環境に入るために自動的にコマンドが入力されるようになっています。
PowerShellの場合はconda activate hogehogeとなっているのですが、conda activateコマンドを利用できるようにするためには色々と設定が必要になります。
その点、コマンドプロンプトの場合はC:/Users/<username>/anaconda3/Scripts/activate、と実行ファイルのフルパスになっているので設定を変える必要がありません。

どうしてもコマンドプロンプトではなくPowerShellで実行したいということでしたら以下の記事が参考になると思います。
conda activateでエラーが出る話 | Qiita

また、環境変数PATHについては以下の記事が分かりやすく説明してくれています。
「PATH を通す」の意味をできるだけわかりやすく説明する試み | Qiita

投稿2020/08/04 15:17

編集2020/08/05 06:07
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asasika

2020/08/05 05:44 編集

解答ありがとうございます。 解決することができました。 また、パスを通す意味も良くわかりました。 本当にありがとうございました。
退会済みユーザー

退会済みユーザー

2020/08/05 06:06

yymmtさんの方のコメント見たのですが、PATHを通すことで解決できたということでしょうか。 どのように解決したのかもう少し詳しく教えて頂けると嬉しいです。
asasika

2020/08/05 12:29 編集

まず、VSCodeのシェルをコマンドプロンプトに変更した(settings.jsonの一番最初の行である"python.pythonPath"の後を"C:\miniconda\Scripts"に変えました。minicondaフォルダにpython.exeがあったからです。)ところターミナルに何のエラーなく実行することができました。 その後、powershellで実行できるか興味本位でやってみました。 具体的にやったことは Windows キー + Pause/Break キー(またはコントロールパネル > システム)から[システムの詳細設定]リンクそして[詳細設定]タブさらに[環境変数]ボタン、[システム環境変数]グループボックス内の「Path」を選択して [編集]ボタンの過程を経て、C:\miniconda\python.exeをそこにコピーしました。 そのあとsettings.jsonの一番最初の行である"python.pythonPath"の後を"初期の文に変えました。 そこでopencvで画像表示のコードを書いて実行してみたところ無事エラーなく実行できたと思い込んで、解決しましたと書き込みました。 しかしそのあとターミナルと見るとコマンドプロンプトのままだったのでそこを変更するとまた同じエラーが出てしまいました。 どうしようかと思ったところ、返信をいただいたといった具合です。 シェルをコマンドプロンプトに変えると何の不具合もなく実行できます。 しかしまだpowershellで実行するとエラーが出るという状況です。 コマンドプロンプトでこれからやっていくでいいのですが、powershellでエラーが出ない方法も教えてほしいです。 長文失礼しました。
退会済みユーザー

退会済みユーザー

2020/08/05 14:02

ご丁寧にありがとうございます。 おそらく環境変数PATHに間違ったパスを設定しているのが原因です 。 まずは「C:\miniconda\python.exe」を「C:\miniconda\Scripts」に変更してみてください。 エラーが出なくなるか別のエラーが出るはずです。 なお、環境変数を変更した後にシェルを再起動する必要があります。 またpython.pythonPathですが、settings.jsonで直接変更するのは初学者にはあまりお勧めしません。VSCodeのウィンドウ左下にPythonの実行環境が表示されていると思うのでそこをクリックして変更したほうがいいです。 ここの表示でどの実行環境を使っているのか確認することもできます。
asasika

2020/08/05 14:23

何度もご解答ありがとうございます。 おっしゃられた通りやってみると、これまたおっしゃられた通りエラーの内容が変わりました。 調べてみると、anacondaとpowershellは相性が悪いのでコマンドプロンプトでやる必要があるといったことが書かれていましたが、やはりそうなのでしょうか? python.pythonPathってインタープリターの設定のことを指していたのですね。インタープリターの設定もどちらもやってました(笑)。勉強になります。ありがとうございます。
退会済みユーザー

退会済みユーザー

2020/08/05 15:25

> anacondaとpowershellは相性が悪いのでコマンドプロンプトでやる必要があるといったことが書かれていましたが、やはりそうなのでしょうか? そんなことないと思いますよ。新しく出たエラーはコマンドプロンプトでも発生しますし。 少し古い情報を見ているのかもしれません。 ためしにコマンドプロンプトで「conda activate zik」を入力してみてください。 このエラーを解決する方法は以下の記事が参考になります(上の回答の方でも紹介しています)。 https://qiita.com/8128/items/877caf785b20758ba7e0
asasika

2020/08/06 12:52

ありがとうございます。教えてくださったサイト通りにすると、エラーなく実行することができました。 最後までご丁寧に回答してくださりありがとうございました。
退会済みユーザー

退会済みユーザー

2020/08/06 14:39

お役に立てたようで何よりです。 もし良ければ、ベストアンサーをこちらの回答に変更していただけるとありがたいです。
guest

0

ベストアンサー

エラーメッセージから分かることは

  • Powershellが起動していてcondaコマンドが見つけられていない

ということです。可能性としては

  1. VSCodeにPowershell拡張をインストールしているがminicondaへのPATHは通っていない
  2. VSCodeの設定python:pythonPathが設定されていてデフォルトでそちらを設定しようとする

のだと思います。まずは2の設定を見直したうえで、1のPATHを見直すのがよいと思います。

投稿2020/08/02 04:54

編集2020/08/02 05:00
yymmt

総合スコア1615

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asasika

2020/08/03 09:39

解答ありがとうございます。 プログラミング、パソコンともに初心者なので1も2もあまりよくわかりません、本当に申し訳ないです。 まず1についてなんですが、minocondaへのpathが通っていないとはどういった状況を指すのでしょうか。 次に2についてなんですが、設定のsettings.jsonや launch.jsonあたりを触ればよいということでしょうか。 何度も申し訳ないですが、お願いします。
yymmt

2020/08/03 17:38

condaというコマンドはWindowsのどこかに「conda.exe」もしくは「conda.bat」というファイルが存在しているため実行可能なのですが、そのファイルの位置をWindowsに予め教える必要があります。この位置が環境変数PATHで設定されてるため、パスを通すというのは、環境変数PATHにconda.exeもしくはconda.batが含まれているフォルダを追加してください、ということです。 2に関してはその通りで、英語になりますが https://code.visualstudio.com/docs/python/environments が参考になります。 私の推奨は、パソコン初心者なら、MinicondaではなくAnacondaの方をインストールして、Anaconda NavigatorからVSCodeを立ち上げる方がトラブルは少ないと思います。色々な事情があると思いますので参考程度にお考え下さい。
asasika

2020/08/05 05:38 編集

解答ありがとうございます。 解決することができました。1ができていなかったようです。 勉強になりました。 本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問