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

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

ただいまの
回答率

90.61%

  • Python 3.x

    5889questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Windows 10

    893questions

    Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

  • Mecab

    159questions

    Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

windows上でmecabとpython3をバインディングさせる

受付中

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,137

saki_09

score 12

前提・実現したいこと

windows上でmecabとpython3をバインディングさせたい

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

こちらの方の記事を参考に( http://y-mattu.hatenablog.com/entry/2016/01/06/030929 )
Mecabを入れる
VC++を入れるところまではやりましたが、
python setup.py build を行うとこのようなメッセージが出てきてしまいました。

error:command 'cl.exe' failed: No such file or directory

該当のソースコード

python setup.py build 

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

python3/windows OS

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • YouheiSakurai

    2017/05/16 22:06

    Pythonのバージョンによって入れなければならないコンパイラのバージョンが異なります。python -VVの実行結果が必要です。

    キャンセル

  • saki_09

    2017/05/17 12:50

    python 3.6.0 ::Anaconda4.3.1(64-bit)でした。

    キャンセル

回答 2

0

cl.exeが見当たらないというエラーですので、VCを入れただけなく、
コマンドラインでコンパイルできるように環境変数の設定が必要です。

VC++に、以下のようなバッチが含まれていると思いますので、こちらを
buildする前に実行する必要があります。

vcvars32.bat

https://msdn.microsoft.com/ja-jp/library/f2ccy3wt.aspx

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/18 12:11

    VC++はいれていて、C:\Program Files (x86)\Microsoft Visual Studio 14.0も存在するのですが、vcvars32.bat が存在していませんでした。調べたらふつうはC:¥Program Files¥Microsoft Visual Studio 14.0¥VC¥binにあるようなのですが、VCフォルダがそもそもなかったのでVCがないということなのでしょうか?

    キャンセル

  • 2017/05/18 12:26

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Buildのなかにvcvars32.batはありました。

    キャンセル

  • 2017/05/18 12:47

    vcvars32.batを実行してみたのですが、動きません。
    これはProgram Files (x86)にMicrosoft Visual StudioとMicrosoft Visual Studio 14.0の二つがありしかも、VCが入っているのがMicrosoft Visual Studioの方だから問題なのだろうと思います。
    (pythonのビルドされた環境は14.0)
    Visual Studio 14.0にVCを入れるにはどうしたらよいでしょうか?

    キャンセル

  • 2017/05/18 12:55

    http://stackoverflow.com/questions/31953769/visual-studio-doesnt-have-cl-exe
    こちらが参考になりませんか?デフォルトで入らないようです。

    キャンセル

  • 2017/05/18 14:58

    アンインストールして再インストールしましたがMicrosoft Visual Studioの方しか入りません。Microsoft Visual Studio 14.0はhttps://www.visualstudio.com/ja/downloads/からではインストールできないのでしょうか?

    キャンセル

0

Anacondaは使ったことがないのでよく分からないですが、Python 3.6なら以下を入れましょう。

https://wiki.python.org/moin/WindowsCompilers#Microsoft_Visual_C.2B-.2B-_14.0_standalone:_Build_Tools_for_Visual_Studio_2017_.28x86.2C_x64.2C_ARM.2C_ARM64.29

~ 以下、追記 / Visual C++ Build Toolsのインストール方法 ~

  1. ブラウザで「https://www.visualstudio.com/ja/downloads/」を開く。

  2. 「Build Tools for Visual Studio 2017」右側のダウンロードをクリックする。
    Build Tools for Visual Studio 2017.PNG

  3. ファイル名が「vs_buildtools」から始まることを確認してダウンロードして実行する。
    vs_buildtools__35187572.1495092537.exe.png

  4. ウィザードの途中で「Visual C++ Build Tools」を選択してインストールを開始する。
    Visual C++ Build Tools.png
    Visual C++ Build Tools Overview.png

【追記】この時に環境にあったWindows SDKをインストールしないとLNK1158でビルドに失敗することがある。

  1. こんな感じにインストールされるのを待つ。
    BuildTools

  2. 以下のようなコマンドを実行してPythonがコンパイラを認識できることを確認する。

python -c "from distutils.ccompiler import new_compiler; compiler = new_compiler(); compiler.initialize(); print(compiler.cc)"

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/05/18 12:21

    Visual studio14.0は入っているのですが、vcvars32.bat が入っていないようです。

    キャンセル

  • 2017/05/18 15:29

    リンクをたどったページのOther Tools and Frameworksの下にBuild Tools for Visual Studio 2017があります。

    https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017

    キャンセル

  • 2017/05/18 15:43

    pythonのビルドされた環境がVisual studio14.0なのですが、このリンクからダウンロードすると、Visual studioしかはいらないみたいです。
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Buildのなかにあるvcvars32.batを実行したのですが、依然としてエラーは消えませんでした。

    キャンセル

  • 2017/05/18 15:46

    ちなみにvcvars32.batを実行すると、C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build>vcvars32.bat
    **********************************************************************
    ** Visual Studio 2017 Developer Command Prompt v15.0
    ** Copyright (c) 2017 Microsoft Corporation
    **********************************************************************
    [vcvarsall.bat] Environment initialized for: 'x86'
    と表示されます。

    キャンセル

  • 2017/05/19 12:34

    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildToolsは入っているのですが、
    python -c Argument expected for the -c option usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Try `python -h' for more information.
    と表示されてしまいます

    キャンセル

  • 2017/05/19 13:15

    「python -c "」から最後の「"」までで一つのコマンドです。もしくはPythonを起動してから以下の4文を順番に実行しても良いです。

    from distutils.ccompiler import new_compiler
    compiler = new_compiler()
    compiler.initialize()
    print(compiler.cc)

    キャンセル

  • 2017/05/19 17:58

    cl.exeと表示されましたが、やはりbuildするとerror: command 'cl.exe' failed: No such file or directoryと表示されてしまいました。

    キャンセル

  • 2017/05/19 18:34

    たぶんpythonがビルドされた環境がvisual studio 14.0なのでvisual studio 2017のほうで実行できても紐づけができていないのだと思います。
    pythonのビルドされた環境をvisual studio15.0(2017)に変えられればこの問題は解決すると思うのですが、その方法がわかりません。

    キャンセル

  • 2017/05/19 18:56

    http://mukai-lab.org/library/mayapythonvs.htmlにあるように、Python Tools for Visual Studioの設定で変えるようにトライしてみましたが、変わらなかったです・・・

    キャンセル

  • 2017/05/19 22:02

    https://github.com/python/cpython/blob/3.6/Lib/distutils/_msvccompiler.py

    上記コードのどこかで上手くいっていないのが今の状況です。以下のコードの実行結果全文があればもうちょい進められるかもしれません。

    from distutils.ccompiler import new_compiler
    from distutils.log import set_verbosity

    set_verbosity(2)
    compiler = new_compiler()
    print(type(compiler))
    compiler.initialize()

    キャンセル

  • 2017/05/22 11:06

    <class 'distutils._msvccompiler.MSVCCompiler'>
    と表示されました。

    キャンセル

  • 2017/05/22 12:22

    うーん、ではもう「`DISTUTILS_USE_SDK`環境変数が設定されている?」くらいしか思いつかないです。一度コマンドプロンプトで以下を実行して`DISTUTILS_USE_SDK`が環境変数に入っていたらそれを削除してからもう一度試してみてください。

    set | findstr DISTUTILS_USE_SDK

    キャンセル

  • 2017/05/22 17:56

    実行したところ、何も表示されませんでした。色々考えてみたのですが、これはanacondaを入れていることと関係があるみたいです。(そもそものpathの問題…?)

    キャンセル

  • 2017/05/22 18:22

    distutilsのmsvc9compilerの中身が問題だと思うのですが、難しいですね

    キャンセル

  • 2017/05/22 18:40

    <class 'distutils._msvccompiler.MSVCCompiler'>なのでmsvc9compilerではなく_msvccompilerの中だと思います。あとPATHやレジストリの値(anacondaも?)が原因だと推測しますが、手元にある環境の問題ではないのでちょっとお手上げです。すいません。

    キャンセル

  • 2017/05/23 14:26

    msvccompilerの中をいじってbuildのverを15にしてみたり、レジストリの値を変えてみたりしましたが、cl.exe failed: No such file or directory
    これは今の実力では無理ですね、お手上げです。
    プランBを探します。

    キャンセル

  • 2017/05/23 14:39

    ながいことお付き合いいただきありがとうございました

    キャンセル

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

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    MeCab.jarの生成について

    前提・実現したいこと MeCabを使って形態素解析をしようとしています。 発生している問題・エラーメッセージ javaバインディングの際にmakeするあたりが分からずに困

  • 解決済

    mecabのインストールについて

    mecabをanacondaにインストールして、mecabとnatty.pyはライブラリーにあるのですが、下記コードを実装するとエラーが出てしまします。 何か足りないものがあ

  • 受付中

    形態素解析の結果の際pydotplus、graphvizの結果が白紙出力

    いつもお世話になっております。質問です。 実現したいこと 以下のコードの実行結果がgraph().jpgで出力されるが、真っ白で出力。 しかし画像サイズはそれぞれ別々のサイズで

  • 解決済

    MeCabの出力結果にタグを追加したい

    実現したいこと 機械学習を用いた固有表現抽出を行うためのデータセットを作成しています。 タグ一切なしの状態では形態素解析の結果が多すぎるため、作業に一番多くつけるタグをつけ後ほど修

  • 解決済

    python内word2vecのインポートについて

    word2vecを動かしてみたい こんにちは。私はword2vecを動かしてみたいと考えています。 こういう作業はしたことがないのでゼロからの挑戦です。 ・環境 ・VMplayer

  • 解決済

    pythonでMecabを利用した語彙解析がうまくできない。

    ●環境 ・Windows Edition:Windows 7 Professional  Service Pack 1 ・pythonバージョン:Python 3.6.2 (v3.

  • 解決済

    mecab 品詞 選択

    やりたいこと 選択したテキストファイル内の文章をmecabを用いて形態素解析し、 品詞(名詞、動詞など)を絞り込みたいと考えています。 現在、テキストファイルの文章を形態素解析する

  • 解決済

    エラーの原因がわかりません。。

    前提・実現したいこと 『~短期集中講座~ 土日でわかる Pythonプログラミング教室』でpythonを学んでいるのですが、エラーが出てしまい解決方法がわかりません。 Dock

同じタグがついた質問を見る

  • Python 3.x

    5889questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Windows 10

    893questions

    Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

  • Mecab

    159questions

    Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。