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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Django

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

Python

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

Q&A

解決済

1回答

8726閲覧

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

marokatsu

総合スコア38

Django

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

Python

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

0グッド

0クリップ

投稿2018/10/29 09:54

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

requirements.txt

python

1Django==2.0.2 2numpy==1.14.1 3Pillow==5.0.0 4pytz==2018.3 5scikit-learn==0.19.1 6scipy==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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

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 12:34

shimizukawa

総合スコア1847

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

marokatsu

2018/10/29 13:07

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

2018/10/30 12:43

> 普段開発する際は特にバージョンを指定せず「numpy」のようにして最新バージョンをインストールすることが良いでしょうか? 場合によります。「このバージョンで動作した」という表明のためにバージョン指定することもあれば、大抵動くからバージョン指定しないこともあります。「このバージョン以降で動作するだろう」という表明のために `numpy>=1.14.1` と書くこともあります。 https://pypi.org/project/pillow-scripts/#files ではなく https://pypi.org/project/pillow/#files を見るべきではないでしょうか。
marokatsu

2018/10/30 13:02

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問