• 締切済み

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++コンパイラは任意のプロンプト、シェルから実行できず、専用のプロンプト(そこで環境を整えてある)でしか実行できないようになっています。それが問題なのかもなと思いますが、何か心当たりがありましたらお願いします。

  • Python
  • 回答数2
  • ありがとう数2

みんなの回答

  • wormhole
  • ベストアンサー率28% (1621/5657)
回答No.2

>回答ありがとうございます。ご紹介のサイトも拝見しました。 見ただけで読んでないという事でしょうか。 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コンパイラーはサポートしていません。

skmsk1941093
質問者

お礼

すみません。その他のサイトなどでは”Visual studioのC++でできる”と思わせるような情報もあり、混乱しているのです。 ”できない”場合、gccなどで対応するのだろうと思います。その対処方法の説明はありました。しかし、私のPCにはgccはすでに入っているので、その対処方法を実行したらgccの利用環境は2つになってしまうのではないかと見ているのですが。その辺の考え方の整理をしているのですが。

  • wormhole
  • ベストアンサー率28% (1621/5657)
回答No.1

>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

skmsk1941093
質問者

お礼

回答ありがとうございます。ご紹介のサイトも拝見しました。WindowsユーザだったらVisual studioを入れることが多いはずなのでMSVC(これはVisual StudioのC++だと思いますが)はあるはずですが、 しないわけですね。私のPCではコマンドラインから呼び出せない状態ではあるのであるにはあるが、ないのと同じという風ではあります。gccも入っていますが、コマンドラインで呼び出せないようになっています。その辺が問題なのだろうと思います。 また、そのサイトにはcondaコマンドを使ってC++をインストールせよとも書いてあり、あらためてC++をインストールした方がいいのかもしれません。pystan自体pipコマンドでインストールしており、そのときC++がついてきてもらってもよかったとも思いますが。

関連するQ&A

  • Visual Studio 2008につまれているコンパイラを知りたい

     今日は、Cの初心者です宜しくお願いします。  win xpでVisual Studio 2008を使っています。  でもこのアプリケーションにつまれているコンパイラを使ってコマンドプロンプトからも使って色々とプログラム作 成の勉強をしたいのですが、例えば、gccというコンパイラなら>gcc abc.cとかけば、実行ファイルが出来ますが、 Visual Studio 2008 ではなんというコンパイラがインストールされているか分かりません。  どこから探してやればコンパイラの名前が分かるのでしょうか。  色々とそれらしきフォルダを探してもコンパイラらしきものが見当たりません。  他のIDEではフォルダを探してすぐに分かったのですが、、、、  宜しくお願いします。

  • Visual Studio のコンパイラがアプリケーションエラー

    Visual Studio 2005 Professional Edition(Visual Basic 2005)を使っています。 プログラム作成中にコンパイラ(エラー一覧に、文法エラー等を表示するやつです)がアプリケーションエラーで当然のように頻繁に落ちます。 ※エラー内容「問題が発生したため、Microsoft Visual Basic Compilerを終了します。ご不便をおかけ・・・」「・・Visual Basicコンパイラを回復できません。システムエラー・・・」 コンパイラが落ちないように、 この自動コンパイル(自動コードチェック)をしないようにVisual Studioを設定する方法をご存知の方、教えて頂けませんでしょうか。 ※いろいろ調べてみたのですがわかりませんでした。

  • C言語のコンパイラ

    C言語の勉強がしたいと思っているのですが、コンパイラっていうんですかね、それについて少し調べてみたら 無料なら"Borland C++ Compiler"で、有料ならなんかかなり高いっぽいけど"Visual C++"っていうのがあることが解りました。 よくプログラミング系のサイトの人で"Borland C++"のコンパイラを利用してとてもプログラミングがしやすくなったということが書いてあるのですが、"Visual C++"と比べたらどっちの方がいいんですか?(やっぱり有料の方?) もし人それぞれなら、みなさんは両方あったらどっちを使いますか? 初心者なら無料ので十分すぎるのだとは思いますが、プログラマーみたいな人から見るとどうなのかな~と思ったので教えていただけますか。 お願いします。 ついでに"Visual C++"って言語があるんですかね?何かそんな風に書いてあるところもあったもんで。 かさねがさねお願いします。

  • 64ビット コマンドライン Cプログラミング

    私の環境は以下のとおりです CPU x6800 メモリ 8GB Vista 64 sp1 Visual studio 2005 やりたいことは、コマンドプロンプト[ > ] で 大きな配列 char dem[1000][1000][2000] を使うCプログラムを作成し使用すること。 質問したいことは、 コマンドラインの環境設定(PATH: bin lib include) コンパイラ リンカ の/オプション はどのように設定したらよいのでしょうか。 現状は work.c のコンパイル+リンク で work.exe はエラーなく成功するのですが 実行すると、{ work.exeは有効な win32 アプリケーションではありません。} というエラーが出て実行できません。 配列の要素を2000->1000にすればもちろんエラーは出ません。 なおこのときのコマンドプロンプトは  Visual Studio 2005 x64 Win64 コマンド プロンプト PATH は次のようになっています。 PATH=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\BIN\amd64;  C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\bin\win64\amd64;  C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\bin;  C:\Windows\Microsoft.NET\Framework64\v2.0.50727;  C:\Program Files (x86)\Microsoft Visual Studio 8\VC\VCPackages;  C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE;  C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools;  C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\bin;  C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\bin;  C:\Windows\system32;C:\Windows;  C:\Windows\System32\Wbem;  C:\Windows\System32\WindowsPowerShell\v1.0\ 先達のご教示をお願いいたします。

  • jupyter notebookとpython

    jupyter notebookはインタラクティブにコマンドを入力しながら1行1行進めていくわけですが、一方pythonのソースは普通のプログラミングのようにエディットしていくのだと思います。そこで質問ですが、pythonのプログラム(abc.py)をjupyter notebookで使うとかその逆とかはどのようにして実現できるのでしょうか。abc.pyをエディタで開いてコピペしていくのでしょうか。 また、関連してお尋ねしますが、jupyter notebookを保存して終了するとき、ブラウザが閉じたあと、ターミナル上でプロンプトが戻って来ず、待ち状態になります。調べるとCtrrl+Cで打ち切るらしいのですが、最新のものでもそうなのでしょうか。

  • C言語のオススメのコンパイラを教えてください

    C言語の勉強を始めようと思い、コンパイラを探しているのですが、どれが良いのかわっぱりわかりません。 Windows7で動作する、初心者向けのコンパイラをご存知でしたら教えて頂きたいです。 少し探してみたところ、Microsoft Visual Basic 2010 Expressは試してみたのですが強制終了してしまい、Borland C++ Compilerは現在は公開されていないようなので、それ以外でお願いします。

  • DirectX + C++ コンパイラについて

    Borland C++ CompilerでDirectX 9.0を開発しようとして、 (Visual.NETは資金的に・・・) http://www.clootie.ru/cbuilder/index.html これを使ってなんとかできるようになりました。 しかし、D3DX9sab.dllが必要になってしまうんです。 通常のDirectXのように単一の実行ファイルにしたいのですが、どなたかご存知の方はいらっしゃいませんか。 というか、無償のコンパイラでDirectXを使いたいんです。 ちなみに、DLLをEXEにまとめる、ILMergeというソフトを見つけたんですが、なぜかエラーに・・・。 たぶん.NETで作成したもの限定なのかな。。 DLLからスタティックライブラリに変換できんかなぁ

  • intelのfortran, Cのコンパイラ

    intelのfortran, CのコンパイラのWindows版についてお尋ねします。 コマンドラインで実行しており、そのような使い方で何も困らないのですが、Microsoft Visual studioを使うことも推奨されるようなのです。デバッガはその方が良さそうですが。 そこでお尋ねします。 1.今一度、用途は何でしょうか。 2.Microsoft visual studioは有償のものでないとダメでしょうか。一度、販売店に聞いたら無償のもの(express)は利用できないということでした。腑に落ちないので両者の方の意見を聞きたいのですが。 3.ずっとコマンドラインで使っていましたが、後からvisual studioをインストールしても問題ないでしょうか。 4.ウィンドウズ上で並列処理(CPUを分割して並列処理する)のに必須でしょうか。mpich2を利用するためにvisual studioの環境を利用するという人がいましたが。Linux版はもちろん関係ないわけですが、並列環境を整えることは可能です。考え方がだいぶ違うわけですがどのように考えるのでしょうか。(質問が漠然としています)。 以上、よろしくお願いします。

  • WinAPIに用いるコンパイラコンパイラ

    私はウィンドウズのアプリケーションを作るのに、Visual StudioのC++を用いてます。これに簡単なスクリプトファイルを加えてグラフィックを作成しようと考えていますが、そのスクリプトを解析するのにコンパイラコンパイラを勉強を兼ねて使用しようと思いました。 コンパイラコンパイラには沢山種類があるかと思われます。私が思いつくのは、boostや、yacc/lexです。 この環境でコンパイラコンパイラをソースとして加えるのなら皆さんなら何を用いますか。出来れば理由も加えて教えてください。ちなみに、コンパイラコンパイラを勉強したいので、簡単にできる文字を取り組んで比較と言った事以外でお願いします。

  • Javaのコンパイラ!!

    いま、C++言語の学習中です。 次はJavaかなぁと思っている今日この頃。。。 Javaのプログラムはコマンドプロンプトでコンパイルできるのは経験済みです(超初歩ですが・・『こんにちは』と表示させたりです) コマンドプロンプトはちょっと使い勝手が悪いので・・ コマンドプロンプト以外でJavaをコンパイルするフリーソフトはありますか?? できれば、使い方が載っているホームページがある方がよいのですが。。 Visual studio でもいいのですが英語版で・・・使いにくいかなぁと思っており、Javaでアプリを作成するくらいまでには成長したいとはおもっています。 C/C++ のコンパイラはCygwin とか Visual C++ を使っています。

    • ベストアンサー
    • Java

専門家に質問してみよう