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

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

ただいまの
回答率

90.04%

【Python】pip installができない

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 4,860

arumon

score 18

前提・実現したいこと

お世話になっております。
python初心者で説明に不備があるかもしれませんが、宜しくお願いいたします。

pythonでFactorization Machinesを実装ようとしたのですが、
Webサイトの通りに実施しようとしたところ、pip installでつまづいてしまいました
参考:https://github.com/coreylynch/pyFM

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

「pip install git+https://github.com/coreylynch/pyFM」を実施したところ、下記のエラーが発生しました

Command "C:\Python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\
\users\\appdata\\local\\temp\\pip-bfqbdw-build\\setup.py';f=getattr(to
kenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();ex
ec(compile(code, __file__, 'exec'))" install --record c:\users\appdata\
local\temp\pip-c1dpiu-record\install-record.txt --single-version-externally-mana
ged --compile" failed with error code 1 in c:\users\appdata\local\temp\
pip-bfqbdw-build\

該当のソースコード

pip install git+https://github.com/coreylynch/pyFM
```

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

該当のソースコードを実施した際、下記のようなメッセージが出ました。

Collecting git+https://github.com/coreylynch/pyFM
Cloning https://github.com/coreylynch/pyFM to c:\users\appdata\local\
temp\pip-bfqbdw-build
Installing collected packages: pyfm
Running setup.py install for pyfm ... error
Complete output from command C:\Python27\python.exe -u -c "import setuptools
, tokenize;file='c:\\users\\appdata\\local\\temp\\pip-bfqbdw-build
\\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\
r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record c:
\users\appdata\local\temp\pip-c1dpiu-record\install-record.txt --single
-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build\lib.win32-2.7
creating build\lib.win32-2.7\pyfm
copying pyfm\pylibfm.py -> build\lib.win32-2.7\pyfm
copying pyfm\init.py -> build\lib.win32-2.7\pyfm
running build_ext
cythoning pyfm_fast.pyx to pyfm_fast.c
building 'pyfm_fast' extension
creating build\temp.win32-2.7
creating build\temp.win32-2.7\Release
C:\Program Files\Common Files\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.
exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Python27\lib\site-packages\numpy\c
ore\include -IC:\Python27\include -IC:\Python27\PC /Tcpyfm_fast.c /Fobuild\temp.
win32-2.7\Release\pyfm_fast.obj
pyfm_fast.c
c:\python27\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_ap
i.h(12) : Warning Msg: Using deprecated NumPy API, disable it by #defining NPY_N
O_DEPRECATED_API NPY_1_7_API_VERSION
pyfm_fast.c(2485) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(2519) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(2550) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(3102) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(3163) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(3194) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(3508) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(4087) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(4149) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(4160) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(4693) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(4754) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(4792) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(5179) : warning C4018: '<' : signed/unsigned mismatch
pyfm_fast.c(5261) : warning C4018: '<' : signed/unsigned mismatch
C:\Program Files\Common Files\Microsoft\Visual C++ for Python\9.0\VC\Bin\lin
k.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\Python27\libs /LIBPATH:C:\Python2
7\PCbuild m.lib /EXPORT:initpyfm_fast build\temp.win32-2.7\Release\pyfm_fast.obj
/OUT:build\lib.win32-2.7\pyfm_fast.pyd /IMPLIB:build\temp.win32-2.7\Release\pyf
m_fast.lib /MANIFESTFILE:build\temp.win32-2.7\Release\pyfm_fast.pyd.manifest
LINK : fatal error LNK1181: cannot open input file 'm.lib'
error: command 'C:\\Program Files\\Common Files\\Microsoft\\Visual C++ for P
ython\\9.0\\VC\\Bin\\link.exe' failed with exit status 1181

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 2

checkベストアンサー

+1

エラーメッセージは以下の一行です。

LINK : fatal error LNK1181: cannot open input file 'm.lib'

このメッセージを検索すると同じようなトラブルに遭遇している人たちはいるようです。

低い英語力を創造で補って読んでみると MSVCにはm.libがなくて、必要な処理はmsvcr90.dll にあるので、とりあえずの対処としては setup.py の 'm' を削除すればいいんじゃないといったことが書かれているようです。

パッチ当てている人がいたので、以下のようにそこからインストールすればよいかもしれません。

pip install git+https://github.com/hiro-koba/pyFM.git@windows-installation-patch

【補足】

恥ずかしながら何のライブラリかはよく分かっていませんが(数値計算の何かということぐらい)、100近くforkされているので結構使われているもののようですね。fork横の数字をクリックするとfork先の開発状況が見れます。
オリジナルのリポジトリ

今回はたまたまそれっぽい名前のブランチ名でパッチを当てている人がいたのですぐ見つけることができました。
フォーク先のリポジトリ

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2016/11/06 18:49

    パッチをあてたバージョンをインストールしたらうまくいきました。
    誠にありがとうございました。本当に助かりました。

    エラーのどこを見てどう解決したらいいのか全くわかりませんでした。。
    これは慣れでしょうか?コツなどがあれば教えていただけると幸いです。。
    (エラーコードの理解とWebで検索する力(+英語力up)でしょうか?)

    キャンセル

  • 2016/11/06 19:08

    ご丁寧にありがとうございます。
    そういう流れでエラーの解決策を探すのですね。

    今後の参考にさせて頂きます。
    誠にありがとうございました。

    キャンセル

  • 2016/11/06 19:09

    慣れもあるとは思いますが、とりあえずは大量のメッセージを眺めておかしなところを探すのではなく、少ないメッセージに絞り込んで眺めるようにすると良いと思います。ERROR、ERR、FATAL、FALILとかで絞り込みですね。

    分からなくてもエラーを示していると思われるキーワードを含んでいる行をまるごとコピペして検索すると、何かしらの情報が得られます。この際、明らかに自分のPC環境に固有の情報と思われる個所は含めないようにする必要がありますが。(ホームディレクトリやIPアドレスなど)

    繰り返していれば、何となく分かるようになってくると思います。

    キャンセル

  • 2016/11/06 19:11

    補足に記述したやつはエラーの原因が分かったあとで、対処法としてsetup.pyを修正したものでインストールする必要があるけど、どういう手順でやるのがいいかと考えて、だれか修正済みの人がいるんじゃないかと探したものです。

    キャンセル

0

下記の記述がありますので、開発環境のインストールする必要があります。
C:\Program Files\Common Files\Microsoft\Visual C++

ライブラリが不足しているようです。
https://www.microsoft.com/ja-JP/download/details.aspx?id=48145

「Windowsで64bitコンパイラを使う」
http://www.python.jp/contrib/win64-compilers.html#id3

すみません、上記によるとpython2.7向けのランタイムは msvcr90 のようです。  
https://www.microsoft.com/ja-jp/download/details.aspx?id=5582

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2016/11/06 16:33

    早速のご回答ありがとうございます。
    大変恐縮ですが、再度ご指摘いただけないでしょうか?
    ご指摘の通り、下記サイトでMicrosoft Visual C++ Compiler for Python 2.7をダウンロードし、インストールしました。
    https://www.microsoft.com/en-us/download/details.aspx?id=44266

    再度pipでinstallしようとしたところ、下記のようなメッセージがでました。
    (他のエラーに変わりはありませんでした。。)

    C:\Users\AppData\Local\Programs\Common\Microsoft\Visual C++ for Py
    thon\9.0\VC\Bin\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\Python27\libs
    /LIBPATH:C:\Python27\PCbuild m.lib /EXPORT:initpyfm_fast build\temp.win32-2.7\Re
    lease\pyfm_fast.obj /OUT:build\lib.win32-2.7\pyfm_fast.pyd /IMPLIB:build\temp.wi
    n32-2.7\Release\pyfm_fast.lib /MANIFESTFILE:build\temp.win32-2.7\Release\pyfm_fa
    st.pyd.manifest
    LINK : fatal error LNK1181: cannot open input file 'm.lib'
    error: command 'C:\\Users\\AppData\\Local\\Programs\\Common\\Micr
    osoft\\Visual C++ for Python\\9.0\\VC\\Bin\\link.exe' failed with exit status 11
    81

    これも開発環境の問題でしょうか?
    よろしくお願いいたします。

    キャンセル

  • 2016/11/06 17:12

    早い返事とご丁寧なご回答、誠にありがとうございます。
    URLのデータをインストールしようと思ったのですが、すでにVisualSyudioProfessionalがインストールされていたためできませんでした。
    一度、既存のVisualStudioをアンインストールして、再度インストールします。

    もしうまくいかなかったら改めてご質問宜しいでしょうか??
    よろしくお願いいたします

    キャンセル

  • この投稿は削除されました

  • 2016/11/06 18:55

    私の理解が及ばず、何度もお手数をおかけして申し訳ありませんでした。
    ご丁寧に素早く何度も対応して頂きありがとうございました。
    感謝致します。

    キャンセル

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

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

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