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

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

ただいまの
回答率

90.51%

  • Python

    11751questions

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

  • Django

    1613questions

    DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

requirements.txtで読み込んだ時にエラーが発生しました

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 541

marokatsu

score 22

pythonとDjangoでプロジェクトを作成しました。
requirementsでライブラリをインストールする時にエラーが出ました。
エラー内容からnumpy関連のものだと思うのですが、どうすればエラーが解決するでしょうか?

requirements.txt

Django==2.0.2
numpy==1.14.1
Pillow==5.0.0
pytz==2018.3
scikit-learn==0.19.1
scipy==1.0.0

 エラーメッセージ

C:\Users\user\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py:274: UserWarning: Unknown distribution option: 'define_macros'
warnings.warn(msg)
running install
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building py_modules sources
building library "npymath" sources
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Inumpy\core\src\private -Inumpy\core\src -Inumpy\core -Inumpy\core\src\npymath -Inumpy\core\src\multiarray -Inumpy\core\src\umath -Inumpy\core\src\npysort -IC:\Users\user\AppData\Local\Programs\Python\Python37\include -IC:\Users\user\AppData\Local\Programs\Python\Python37\include -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.15063.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" /Tc_configtest.c /Fo_configtest.obj

failure.
removing: _configtest.c _configtest.obj
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\user\AppData\Local\Temp\pip-install-5iu9df4_\numpy\setup.py", line 394, in <module>
setup_package()
File "C:\Users\user\AppData\Local\Temp\pip-install-5iu9df4_\numpy\setup.py", line 386, in setup_package
setup(metadata) File "C:\Users\user\AppData\Local\Temp\pip-install-5iu9df4_\numpy\numpy\distutils\core.py", line 169, in setup return old_setup(new_attr)
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\site-packages\setuptools\init.py", line 129, in setup
return distutils.core.setup(**attrs)
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 966, in run_commands
self.run_command(cmd)
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "C:\Users\user\AppData\Local\Temp\pip-install-5iu9df4_\numpy\numpy\distutils\command\install.py", line 62, in run
r = self.setuptools_run()
File "C:\Users\user\AppData\Local\Temp\pip-install-5iu9df4_\numpy\numpy\distutils\command\install.py", line 36, in setuptools_run
return distutils_install.run(self)
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\distutils\command\install.py", line 545, in run
self.run_command('build')
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "C:\Users\user\AppData\Local\Temp\pip-install-5iu9df4_\numpy\numpy\distutils\command\build.py", line 47, in run
old_build.run(self)
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\distutils\command\build.py", line 135, in run
self.run_command(cmd_name)
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "C:\Users\user\AppData\Local\Temp\pip-install-5iu9df4_\numpy\numpy\distutils\command\build_src.py", line 148, in run
self.build_sources()
File "C:\Users\user\AppData\Local\Temp\pip-install-5iu9df4_\numpy\numpy\distutils\command\build_src.py", line 159, in build_sources
self.build_library_sources(*libname_info)
File "C:\Users\user\AppData\Local\Temp\pip-install-5iu9df4_\numpy\numpy\distutils\command\build_src.py", line 294, in build_library_sources
sources = self.generate_sources(sources, (lib_name, build_info))
File "C:\Users\user\AppData\Local\Temp\pip-install-5iu9df4_\numpy\numpy\distutils\command\build_src.py", line 377, in generate_sources
source = func(extension, build_dir)
File "numpy\core\setup.py", line 675, in get_mathlib_info
raise RuntimeError("Broken toolchain: cannot link a simple C program")
RuntimeError: Broken toolchain: cannot link a simple C program


Rolling back uninstall of numpy
Command "C:\Users\user\AppData\Local\Programs\Python\Python37\python.exe -u -c "import setuptools, tokenize;file='C:\\Users\\user\\AppData\\Local\\Temp\\pip-install-5iu9df4_\\numpy\\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\user\AppData\Local\Temp\pip-record-e6fi_yid\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\user\AppData\Local\Temp\pip-install-5iu9df4_\numpy\

全体のエラー内容はもっと多いですが、最後のほうから一部をとっています。
何かヒントになることだけでも教えていただけないでしょうか?

 補足情報

python3.7.1
windows10 64bit

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

checkベストアンサー

+4

requirements.txtにある以下の記述から、numpyのバージョン1.14.1をインストールしようとしています。

numpy==1.14.1

しかし、numpy-1.14.1 は、Python-3.7向けのバイナリパッケージ(ファイル名に cp37-none-win32 を含む .whl 拡張子のファイル )を配布していません。

このため、pipコマンドはnumpyのソース配布物 numpy-1.14.1.zip をダウンロードしてソースからコンパイルしてバイナリを作ろうとします。しかし、コンパイルするための環境が用意出来ていないとエラーになります。起きているエラーはこれが直接的な原因です。


対策としては、3つの方法があります。

  1. numpyのPython-3.7向けのバイナリパッケージを探して使います。
  2. numpy-1.14.1をどうしても使いたい場合は、Pythonのバージョンを3.6.xに変えます。
  3. numpy-1.14.1をPython-3.7でどうしても使いたい場合は、コンパイルする環境を整えます。

1については、numpy-1.14.1よりも新しい、最近のバージョンで cp37-none-win32 のバイナリパッケージを配布していれば、それを使う事で解決します。numpy-1.15.3はPython-3.7向けのバイナリパッケージ numpy-1.15.3-cp37-none-win32.whl  を配布しています。

このために、requirements.txtのnumpyの行を以下の様に書き換えます。

numpy


バージョン指定(==1.14.1)を削除することで、より新しいバージョンを使うように、pipに指示します。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/10/29 22:07

    回答ありがとうございます!
    どうしても1.14.1を使いたいわけではなかったため、1.最新バージョンをインストールすることにしました。
    もうひとつ追加で質問したいのですが、普段開発する際は特にバージョンを指定せず「numpy」のようにして最新バージョンをインストールすることが良いでしょうか?
    Pillow==5.0.0でもエラーが発生して
    https://pypi.org/project/pillow-scripts/#files
    pythonのバージョンを見るとNoneとなっていました。
    こちらも「Pillow」とすると問題なく動いたためあまり深く考えていないのですが。。。

    キャンセル

  • 2018/10/30 21:43

    > 普段開発する際は特にバージョンを指定せず「numpy」のようにして最新バージョンをインストールすることが良いでしょうか?

    場合によります。「このバージョンで動作した」という表明のためにバージョン指定することもあれば、大抵動くからバージョン指定しないこともあります。「このバージョン以降で動作するだろう」という表明のために `numpy>=1.14.1` と書くこともあります。

    https://pypi.org/project/pillow-scripts/#files ではなく https://pypi.org/project/pillow/#files を見るべきではないでしょうか。

    キャンセル

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

  • 2018/10/30 22:02

    shimizukawa様
    >場合によります。「このバージョンで動作した」という表明のためにバージョン指定することもあれば、大抵動くからバージョン指定しないこともあります。
    ありがとうございます。これからライブラリをインストールする時はそのバージョンを確認して入れます。詳しく教えていただきありがとうございました!
    https://pypi.org/project/pillow-scripts/#files ではなく https://pypi.org/project/pillow/#files を見るべきではないでしょうか。
    私が見るところを間違えていました。ご丁寧にありがとうございます。

    キャンセル

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

  • Python

    11751questions

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

  • Django

    1613questions

    DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。