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

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

ただいまの
回答率

89.19%

PythonのDjangoを動かすために「mod-wsgi」をインストールしたいのですができません...

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 1,509

VimSuke

score 8

前提・実現したいこと

PythonのDjangoを動かすために、「mod_wsgi」をpipでインストールしようとしていますが、どう頑張ってもできません。

環境は
CentOS7
Python 3.6.8
django 2.1
です。

該当のソースコード

$ pip install mod-wsgi

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

Collecting mod-wsgi
  Using cached https://files.pythonhosted.org/packages/26/03/a3ed5abc2e66c82c40b0735c2f819c898d136879b00be4f5537126b6a4a4/mod_wsgi-4.6.7.tar.gz
    ERROR: Command errored out with exit status 1:
     command: /home/kazuhi/django/dashboards/bin/python3.6 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-0wt0r2rp/mod-wsgi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-0wt0r2rp/mod-wsgi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
         cwd: /tmp/pip-install-0wt0r2rp/mod-wsgi/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-0wt0r2rp/mod-wsgi/setup.py", line 168, in <module>
        'missing Apache httpd server packages.' % APXS)
    RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

試したこと

何とかエラーの内容を読み取ろうとしましたがわからず、pip3で試してみたり、pipをアップデートしてみたり、「mod_wsgi インストール」等でweb検索して出てきた記事に記載されてあることは試してみましたが、同じようなエラーが出てしまいます。

初めてdjangoを触り、Linuxの設定をし、あと一息?のところで3日ほど苦戦しています。恥ずかしながらエラーの切り分けが全くできません。エラーを翻訳しても意味がわからない状態です。

setup.pyってどこにあるんだ?そんなの見つからないぞ..と言ったレベルです。

エラーを解決するコツなどもご教授いただければ喜びます><。よろしくお願いします。

なお、情報に不備があれば都度用意いたします><

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

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

  • meg_

    2019/08/21 23:02

    「install any missing Apache httpd server packages.」とありますが、Apacheに問題はありませんか?

    キャンセル

  • VimSuke

    2019/08/22 04:05

    ご質問ありがとうございます!Apacheに問題というよりは、パッケージが複数足りなかったようです。
    何とかインストールできました!

    キャンセル

回答 3

check解決した方法

+2

// apxsが含まれているhttp-develというパッケージをインストール
yum install httpd-devel

// gccコンパイラをインストール
yum install gcc

// 必要なパッケージをインンストールする
sudo yum groupinstall "Development tools"
sudo yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel git

// python3をインストールし直す(アンインストールする)
// pyenv インストールしてpythonを管理する
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
// PATH を通す
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
// 確認
pyenv --version
// pyenv 1.2.3-43-g35f7ef8の様に返ってきたらOK

// enable-sharedでpythonをダウンロード
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.7.1

// ModuleNotFoundError: No module named '_ctypes'のエラーに以下で対応
sudo yum -y install libffi-devel

// pythonを再ダウンロード
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.7.1

// python-develのインストール
yum install python-devel

// mod-wsgiをインストール
sudo pip install mod-wsgi --user

上記の流れで解決する事ができました。回答してくださった皆さまのおかげで少しエラーの対応に強くなった気がします。僕の中でコツは苦手意識を持たずに英語をしっかりと読む!ということでした。

ありがとうございました!!

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2020/01/11 14:52

    同じエラーでこけていましたが
    `PYTHON_CONFIGURE_OPTS="--enable-shared"`で解決しました!
    ありがとうございます!

    キャンセル

+2

エラーを解決するコツなどもご教授いただければ喜びます><。よろしくお願いします。

エラーログを見ます。

    RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.

「apxs」というコマンドがインストールされていないか、実行形式なファイルでないか。と言っています。
だとすると「apxs」をインストールすればいいのでは?と考えました。

Googleで「CentOS apxs」をキーワードに検索すると、一番先頭に以下のサイトが引っかかります。

これで解決するのではないでしょうか。


自分も英語が苦手なのであまりキツい事は言いたくはありませんが、本当に上記の英語が理解できませんでしたか?
これぐらいの英語を読めないと大変ですし、試しにGoogle翻訳で訳してみましたが、これ以上ないという翻訳でした。
(少なくとも、「apxs」がキーワードだという事ぐらいはわかるはずです)

もう少し英語に対して理解を深めることがエラーを解決するコツだと思います。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/08/22 04:02

    ご丁寧に教えていただきありがとうございます。
    ERROR: ←と書かれているところだけ見ていました。また、katsukoさんの仰るっとりに英語の苦手意識があったのだと感じました。今回でエラーと英語に対する耐性がついた気がします!

    ありがとうございました!!

    キャンセル

+1

エラーメッセージ

RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.

のとおりそのままですが、 apxs というコマンドが見つからないためにエラーになっているのだと思います。

CentOS であれば apxs というコマンドはおそらく httpd-devel というパッケージに含まれているので(詳細はご自身で確認してください)、そのパッケージを入れてからもう一度試されると一歩前進するのではないかと思います。

参考:

ちなみに setup.py の場所はエラーメッセージに書かれているとおり

File "/tmp/pip-install-0wt0r2rp/mod-wsgi/setup.py", line 168, in <module>

一時的に /tmp/pip-install-0wt0r2rp/mod-wsgi/setup.py に置かれているのではないでしょうか。 setup.py の実際のファイルの中身をご覧になりたければ GitHub の mod_wsgi のリポジトリをご覧になるとよいかと思います:

エラーを解決するコツなどもご教授いただければ喜びます><。よろしくお願いします。

もし apxs を入れてもうまく行かない場合は、 setup.py の中身を読んだり mod_wsgi のリポジトリのイシュー一覧に同じ問題が報告されていないかを確認したりすると、何らかのヒントが得られるかもしれません。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/08/22 03:59

    ご丁寧に教えていただきありがとうございます。
    教えていただいたように yum install httpd-devel で1つエラーが消え、また次のエラー、といった流れでなんとかmod-wsgiをインストールする事ができました。エラーを解決するコツも大変勉強になりました!

    ありがとうございました!!

    キャンセル

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

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

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