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

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

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

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

1回答

2954閲覧

pip install pycddlibが実行できない。

AI_engineer

総合スコア15

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2021/04/25 07:56

前提・実現したいこと

dockerを用いて数理最適化のコードを書くための環境を作ろうと思っています。
ですがdockerを勉強中で分かっていないことが多いため、自力で解決できず困っています。
主なエラーとしてはpycddlibというパッケージのインストールができません。

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

ERROR: Failed building wheel for pycddlib Running setup.py clean for pycddlib Failed to build pycddlib Installing collected packages: pycddlib Running setup.py install for pycddlib ... error

該当のソースコード

Dockerfile

1FROM ubuntu:latest 2RUN apt-get update && apt-get install -y \ 3 sudo \ 4 wget \ 5 vim 6WORKDIR /opt 7RUN wget "https://repo.continuum.io/archive/Anaconda3-2020.07-Linux-x86_64.sh" && \ 8 9sh /opt/Anaconda3-2020.07-Linux-x86_64.sh -b -p /opt/anaconda3 && \ 10 11rm -f Anaconda3-2020.07-Linux-x86_64.sh 12 13ENV PATH /opt/anaconda3/bin:$PATH 14 15RUN pip install --upgrade pip 16RUN pip install pulp \ 17 pycddlib \ 18 vpython \ 19 picos 20RUN conda install cvxopt 21WORKDIR / 22CMD ["jupyter", "lab", "--ip=0.0.0.0", "--allow-root", "--LabApp.token=''"]

試したこと

エラーメッセージはdocker exec -it <image> bashでコンテナに入って、pip install pycddlibを実行した際に表示されたものです。エラーメッセージが長く、どの部分をコピペすればよいのかわからなかったので何か情報が足りない場合は教えていただけると助かります。
pycddlibを除いた場合、docker runは通りました。

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

Windows10

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

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

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

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

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

etherbeg

2021/04/25 11:56 編集

pycddlibの公式ドキュメントでインストールについてのページをみると、 "On Linux, this will install from source, and you will need GMP. Your distribution probably has a pre-built package for it. " とあります。ubuntuでのGMPのインストール方法を調べるのが先でしょう。この点について私はアドバイスできませんので、こちらに記入させていただきました。 https://pycddlib.readthedocs.io/en/latest/quickstart.html#installation なお、Anacondaを使用する際はpipは極力使用せず、condaコマンドを使ってパッケージのインストール及び仮想環境の構築を行うべきです。以下のページを参照してください。 https://www.python.jp/install/anaconda/pip_and_conda.html https://www.python.jp/install/anaconda/conda_and_venv.html pycddlib以外はcondaパッケージが存在しますので、condaコマンドを使ってインストールできます。インストールの際のコマンドはパッケージの公式ドキュメント、もしくは以下でパッケージ名で検索して確認してください。 https://anaconda.org/
guest

回答1

0

ベストアンサー

エラー error: command 'gcc' failed with exit status 1 の回避方法

DockerfileRUN php install pycddlib よりも前に gcc と libgmp3-dev パッケージをセットアップする命令を書くと、 docker build が通ります。

Dockerfile

1RUN apt-get install -y libgmp3-dev gcc

調べ方

biuld 時のログやエラーが長くても、多くの場合は問題解決のヒントになります。

今回の場合、そのまま Dockerfile をビルドしますと、gcc というコマンドがない、というエラーが確認できます。

'gcc': No such file or directory error: command 'gcc' failed with exit status 1

そのため、 RUN apt-get install -y gcc を Dockerfile に追加して様子をみます。

再度 docker build を実行しますと、今度は次のエラーが出ます。

cddlib/lib-src/cddmp.h:30:11: fatal error: gmp.h: No such file or directory 30 | #include "gmp.h" | ^~~~~~~

Ubuntu は libgmp3-dev パッケージに GMP の gmp.h が含まれています。
これをインストールするには

RUN apt-get install -y libgmp3-dev

が必要と分かります。

投稿2021/04/30 23:26

zembutsu

総合スコア1584

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問