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

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

ただいまの
回答率

89.63%

apt-get install python3-pip にてインストールに失敗する

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 634

daichannel

score 1

前提・実現したいこと

Selenium+ヘッドレスChromeで画面キャプチャを取得する環境を作っています。
手順は以下を参考にしています。
https://qiita.com/xio_yae/items/72c398e9db3ffe7b3136

SeleniumはDocker上のUbuntu 18.04 に対し、環境構築しようと考えていて、
Seleniumをインストールする為、apt-get install で python3-pip をインストールしようとしたのですが、
以下のようなエラーが発生してしまい、インストールがストップしてしまいます。

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

# apt-get -y install python3-pip
(中略)
...
Fetched 112 MB in 8min 48s (211 kB/s)
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 115.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7, <> line 115.)
debconf: falling back to frontend: Teletype
Extracting templates from packages: 100%
E: Symlinking /var/cache/apt/archives/liblocale-gettext-perl_1.07-3build2_amd64.deb to /tmp/apt-dpkg-install-lFoSJQ/000-liblocale-gettext-perl_1.07-3build2_amd64.deb failed! - DPkg::Go (71: Protocol error)
#

E: Symlinking に記載のライブラリ「liblocale-gettext-perl」をapt-getでインストールすると、ここのエラーメッセージが変わります。

E: Symlinking /var/cache/apt/archives/libmpdec2_2.4.2-1ubuntu1_amd64.deb to /tmp/apt-dpkg-install-0JQUog/000-libmpdec2_2.4.2-1ubuntu1_amd64.deb failed! - DPkg::Go (71:
Protocol error)

apt Protocol Error など複数キーワードでググったりしましたが、具体的な解決策を見つけられませんでした。
これまでは E: Symlinking のようなエラーは発生していなかったのですが、一昨日あたりから急に発生するようになって、苦戦しています。

試したこと

apt-get update
apt-get upgrade
も試しましたが、事象は改善せず。

Timezoneの問題かとも思い、以下のサイトを参考にtimedatectlコマンドを実行しようとしましたが、
そもそもDockerのUbuntu 18.04のイメージにはtimedatectlがインストールされておらず、
apt-get でインストールしようとしましたが、リポジトリに無いと言われてしまい、途方にくれています。
https://qiita.com/zaki-lknr/items/cd9844fa6a1efa58cab1

# apt-get install timedatectl
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package timedatectl
#

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

ホストはWindows7 SP1
VagrantでVitrualBoxのCentOS7 を起動し、そこにDockerをインストールして、Ubuntu 18.04のイメージからコンテナ起動しています。

また、Proxy環境下である為、http_proxyとhttps_proxy環境変数にプロキシ情報を設定しています。

よろしくお願いします。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

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

  • yoorwm

    2019/09/26 10:50

    詳しく無いんで他の方の回答を・・・という所ですがとりあえず。
    ひょっとして、python3を入れた状態で、pip3入っていませんか?

    キャンセル

  • daichannel

    2019/09/26 11:29 編集

    回答ありがとうございます。

    確認しましたが、python3は入っていません。
    -----------------------------------------------------------------------------------------------------------
    # dpkg -l | grep python3
    ii libpython3.6-minimal:amd64 3.6.8-1~18.04.2 amd64 Minimal subset of the Python language (version 3.6)
    ii python3-minimal 3.6.7-1~18.04 amd64 minimal subset of the Python language (default python3 version)
    ii python3.6-minimal 3.6.8-1~18.04.2 amd64 Minimal subset of the Python language (version 3.6)
    -----------------------------------------------------------------------------------------------------------
    上記のpython3.6-minimal も apt-get -y install python3-pip の過程でインストールされたライブラリです。

    よろしくお願いします。

    キャンセル

  • daichannel

    2019/09/26 11:32

    ご回答の内容が曖昧だったので、pipやpip3についてもインストールを確認しましたが、やはり入っていません。
    -----------------------------------------------------------------------------------------------------------
    # dpkg -l | grep pip3
    # dpkg -l | grep pip
    #
    -----------------------------------------------------------------------------------------------------------
    よろしくお願いします。

    キャンセル

回答 2

checkベストアンサー

0

想定のアプローチとちょっと違ってしまうのですが、「Selenium+ヘッドレスChromeで画面キャプチャを取得する」に絞った場合、こんな方法はどうですか、ということで回答を書いてみますね。

  • Ubuntuベースのイメージにpip3を入れるのではなく、python3のベースイメージを使う

というのは如何でしょうか?
先日簡単にpython3,selenium,chrome入りのコンテナでサイトをキャプチャする処理を試したので、そちらでよければ、手前味噌ですが下記に書いてあります。

ご利用の環境がWindows, VirtualBox下のCentOS(Dockerホスト)で、Proxy環境下ということ、ちょっとうまくいくかはわかりませんが、もしよかったらご覧くださいませ。

流れや注意点ですが、こんな感じです。

  • FROM python:3 で、python公式の3系のイメージを利用
  • OSはUbuntuでなく、Docker向けの軽量のLinuxKitをベースにする
  • debian系なのでapt, apt-getが使える
  • Dockerに特化している分、制約も多少あり
  • ブラウザ操作の自動化とキャプチャ専用であれば用途に合うかも?

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/10/07 09:41

    確かにもうこのエラーに対する打開策を考えるより、別のコンテナ使って対応する方が建設的ですよね。

    私も Ubuntu 16.04 で同じ環境構築を試みたところ、すんなりできたので、このエラーの原因究明という意味でこの質問を継続していました。

    OSコンテナより、Pythonコンテナのほうがサイズも小さく、すっきりしているようにも思うので、ご回答頂いた内容で後日やってみようと思います。(現在、試行環境が無いので申し訳ありません。)

    キャンセル

0

下記は試されましたでしょうか? UI系の問題が起こることがあるようです。1度、環境を綺麗にしてから実施いただくほうが無難かもしれません。

$ DEBIAN_FRONTEND=noninteractive sudo -E apt-get install -y python3-pip

https://maku77.github.io/docker/term-error.html

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/09/27 10:19 編集

    回答ありがとうございます。

    ご指摘頂いた内容を元に、以下のコマンドを実行しましたが、エラーは変わらずです。
    ----------------------------------------------------
    # DEBIAN_FRONTEND=noninteractive apt-get install -y python3-pip
    (中略)
    1 not fully installed or removed.
    Need to get 0 B/114 MB of archives.
    After this operation, 371 MB of additional disk space will be used.
    Extracting templates from packages: 100%
    Preconfiguring packages ...
    E: Symlinking /var/cache/apt/archives/python3-minimal_3.6.7-1~18.04_amd64.deb to /tmp/apt-dpkg-install-8jdZbu/0-python3-minimal_3.6.7-1~18.04_amd64.deb failed! - DPkg::Go (71: Protocol error)
    #
    ----------------------------------------------------
    ※一度環境をきれいにしてから、というアドバイスを頂きましたので、既存のDockerコンテナを削除し、
     再度実施した為、Symlinkingエラーのライブラリがpython3-minimalに変更されています。

    全然変わらなかったわけではなく、以下のメッセージは表示されなくなりました。
    ----------------------------------------------------
    debconf: unable to initialize frontend: Dialog
    debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 130.)
    debconf: falling back to frontend: Readline
    debconf: unable to initialize frontend: Readline
    debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7, <> line 130.)
    debconf: falling back to frontend: Teletype
    ----------------------------------------------------

    結果、この部分が表示されなくなっただけでした。

    ただ、この内容については知らなかったので、勉強になりました。ありがとうございます。

    引き続きよろしくお願いします。

    キャンセル

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

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