- 締切済み
pythonでC++のコンパイラを利用する環境
Jupyter notebookで時系列データ解析を練習しているものですが、C++のコンパイラを自動で呼び出して処理をする場面があるようです。ユーザがやるのではなくて、ライブラリを呼び出すと自然とそうなるようです。ところがそこでエラーが生じてしまいます。 長めのエラーが出るのですが、この辺が根本だと思っています。 command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.15.26726\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2 その前に WARNING:pystan:MSVC compiler is not supported というようなエラーメッセージも出ます。 関係している環境設定は以下のようなものです。pystanはインストールされています。 import pystan from pystan import StanModel pythonやJupyterはC++を使うことがあるから使えるようにしておくことというメッセージですが、具体的にどうしておく、とは言っていません。Visual studioのC++コンパイラは任意のプロンプト、シェルから実行できず、専用のプロンプト(そこで環境を整えてある)でしか実行できないようになっています。それが問題なのかもなと思いますが、何か心当たりがありましたらお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- wormhole
- ベストアンサー率28% (1626/5665)
>回答ありがとうございます。ご紹介のサイトも拝見しました。 見ただけで読んでないという事でしょうか。 MSVCをサポートしていない理由も書いてあるんですけど。 >pythonやJupyterはC++を使うことがあるから使えるようにしておくことというメッセージですが、 #1では書きませんでしたが、質問に書かれているメッセージは、そのような内容ではありませんよ。 >command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.15.26726\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\HostX86\x64\cl.exe が終了ステータス2で異常終了しました。 >WARNING:pystan:MSVC compiler is not supported 警告: pystanはMSVCコンパイラーはサポートしていません。
- wormhole
- ベストアンサー率28% (1626/5665)
>WARNING:pystan:MSVC compiler is not supported C++コンパイラーを必要としているのはpythonやJupyterではなく、pystanかと。 またC++コンパイラーといってもVisual C++(MSVC)はサポートしてないというメッセージが出ていますからパスが通っていようが意味はないです。 C++のインストールに関してはpystanのドキュメントを参照すればよろしいかと。 https://pystan.readthedocs.io/en/latest/windows.html#windows
お礼
回答ありがとうございます。ご紹介のサイトも拝見しました。WindowsユーザだったらVisual studioを入れることが多いはずなのでMSVC(これはVisual StudioのC++だと思いますが)はあるはずですが、 しないわけですね。私のPCではコマンドラインから呼び出せない状態ではあるのであるにはあるが、ないのと同じという風ではあります。gccも入っていますが、コマンドラインで呼び出せないようになっています。その辺が問題なのだろうと思います。 また、そのサイトにはcondaコマンドを使ってC++をインストールせよとも書いてあり、あらためてC++をインストールした方がいいのかもしれません。pystan自体pipコマンドでインストールしており、そのときC++がついてきてもらってもよかったとも思いますが。
お礼
すみません。その他のサイトなどでは”Visual studioのC++でできる”と思わせるような情報もあり、混乱しているのです。 ”できない”場合、gccなどで対応するのだろうと思います。その対処方法の説明はありました。しかし、私のPCにはgccはすでに入っているので、その対処方法を実行したらgccの利用環境は2つになってしまうのではないかと見ているのですが。その辺の考え方の整理をしているのですが。