🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

apt-get

apt-getコマンドはUNIX系OSのパッケージのインストールなど、パッケージ管理を行うためのコマンドです。

Docker

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

Q&A

解決済

2回答

5187閲覧

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

daichannel

総合スコア5

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

apt-get

apt-getコマンドはUNIX系OSのパッケージのインストールなど、パッケージ管理を行うためのコマンドです。

Docker

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

0グッド

1クリップ

投稿2019/09/26 01:38

編集2019/09/26 02:36

前提・実現したいこと

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環境変数にプロキシ情報を設定しています。

よろしくお願いします。

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

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

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

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

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

yoorwm

2019/09/26 01:50

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

2019/09/26 02:30 編集

回答ありがとうございます。 確認しましたが、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 02:32

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

回答2

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/06 06:59

suama

総合スコア1997

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

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

daichannel

2019/10/07 00:41

確かにもうこのエラーに対する打開策を考えるより、別のコンテナ使って対応する方が建設的ですよね。 私も Ubuntu 16.04 で同じ環境構築を試みたところ、すんなりできたので、このエラーの原因究明という意味でこの質問を継続していました。 OSコンテナより、Pythonコンテナのほうがサイズも小さく、すっきりしているようにも思うので、ご回答頂いた内容で後日やってみようと思います。(現在、試行環境が無いので申し訳ありません。)
guest

0

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

bash

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

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

投稿2019/09/26 22:59

編集2019/09/26 23:06
PINTO

総合スコア351

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

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

daichannel

2019/09/27 01:20 編集

回答ありがとうございます。 ご指摘頂いた内容を元に、以下のコマンドを実行しましたが、エラーは変わらずです。 ---------------------------------------------------- # 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 ---------------------------------------------------- 結果、この部分が表示されなくなっただけでした。 ただ、この内容については知らなかったので、勉強になりました。ありがとうございます。 引き続きよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問