[ubuntu-jp:5844] Re: python3 のインストールに伴う不具合で困っています

INADA Naoki songofacandy @ gmail.com
2017年 9月 5日 (火) 10:04:46 UTC


稲田です。

Python 3 はどうやってインストールされましたか?

エラーをみるに、 pre-removal スクリプトで Python 2 依存のスクリプトが、
Python 3 インタプリタで実行されています。

パッケージの中のスクリプトが #!/usr/bin/python2 と書かれていたら問題にならないのですが、
#!python とか #!/usr/bin/env python と書かれているケースだと、 "python" というコマンドで
Python 3 が立ち上がる用になると、こういったトラブルが発生します。

なので、デフォルトで python コマンドが Python 2 の環境に Python 3 をインストールするときは、
python3 コマンドが Python 3 を起動するようにしつつ、 python コマンドは /bin/python のままに
なるように配慮する必要があります。

もし、 Python 3 をソースからインストールして、 PATH で /usr/bin より先に追加したのであれば、
そのインストール場所にある python コマンドを削除して python3 か python3.6 コマンドを
使うようにすれば良いと思います。

INADA Naoki  <songofacandy at gmail.com>


2017-09-05 18:59 GMT+09:00 小波秀雄 <dkbbd405 at kyoto.zaq.ne.jp>:
> 京都の小波です。いつもお世話になっております。
>
> Ubuntu 16.04LTS に Python3 をインストールしようとして,途中でトラブルが
> 起きたのですが(そのログはありません),なんとかして一部エラーメッセージは
> 吐きましたが,インストールはでき,Python そのものはちゃんと走っています。
>
> ところが,システムのアップグレードで以下のような問題が発生して困っています。
>
> 解決のアドバイスやヒントをいただけると幸いです。
>
> ===========================
> $ sudo apt update  #これは問題なし
>
> =====================================
> $ sudo apt upgrade # 以下のメッセージが出てしまう。
> パッケージリストを読み込んでいます... 完了
> 依存関係ツリーを作成しています
> 状態情報を読み取っています... 完了
> これらを直すためには 'apt-get -f install' を実行する必要があるかもしれません。
> 以下のパッケージには満たせない依存関係があります:
>  python-samba : 依存: samba-libs (= 2:4.3.11+dfsg-0ubuntu0.16.04.9)
> しかし、2:4.3.11+dfsg-0ubuntu0.16.04.10 はインストールされています
>
> =========================================
> $  sudo apt-get -f install   # 上のメッセージに従ってこれを実行
> パッケージリストを読み込んでいます... 完了
> 依存関係ツリーを作成しています
> 状態情報を読み取っています... 完了
> 依存関係を解決しています ... 完了
> 以下のパッケージが自動でインストールされましたが、もう必要とされていません:
>   linux-headers-4.4.0-91 linux-headers-4.4.0-91-generic
> linux-image-4.4.0-91-generic linux-image-extra-4.4.0-91-generic
> これを削除するには 'sudo apt autoremove' を利用してください。
> 以下の追加パッケージがインストールされます:
>   python-samba
> 以下のパッケージはアップグレードされます:
>   python-samba
> アップグレード: 1 個、新規インストール: 0 個、削除: 0 個、保留: 1 個。
> 14 個のパッケージが完全にインストールまたは削除されていません。
> 1,081 kB 中 0 B のアーカイブを取得する必要があります。
> この操作後に追加で 0 B のディスク容量が消費されます。
> 続行しますか? [Y/n]    # Y をタイプ。すると Python で書かれているらしいファイルがエラーを起こすらしい。
>
> (データベースを読み込んでいます ... 現在 499437 個のファイルとディレクトリがインストールされています。)
> .../python-samba_2%3a4.3.11+dfsg-0ubuntu0.16.04.10_amd64.deb を展開する準備をしています
> ...
>   File "/usr/bin/pyclean", line 63
>     except (IOError, OSError), e:
>                              ^
> SyntaxError: invalid syntax
> dpkg: 警告: サブプロセス 古い pre-removal スクリプト はエラー終了ステータス 1 を返しました
> dpkg: 代わりに新規パッケージからスクリプトを実行してみます ...
>   File "/usr/bin/pyclean", line 63
>     except (IOError, OSError), e:
>                              ^
> SyntaxError: invalid syntax
> dpkg: アーカイブ
> /var/cache/apt/archives/python-samba_2%3a4.3.11+dfsg-0ubuntu0.16.04.10_amd64.deb
> の処理中にエラーが発生しました (--unpack):
>  サブプロセス 新しい pre-removal スクリプト はエラー終了ステータス 1 を返しました
> Traceback (most recent call last):
>   File "/usr/bin/pycompile", line 35, in <module>
>     from debpython.version import SUPPORTED, debsorted, vrepr, \
>   File "/usr/share/python/debpython/version.py", line 24, in <module>
>     from ConfigParser import SafeConfigParser
> ImportError: No module named 'ConfigParser'
> dpkg: クリーンアップ中にエラーが発生しました:
>  サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました
> 処理中にエラーが発生しました:
>
> /var/cache/apt/archives/python-samba_2%3a4.3.11+dfsg-0ubuntu0.16.04.10_amd64.deb
> E: Sub-process /usr/bin/dpkg returned an error code (1)
>
>
> 小波秀雄
>


ubuntu-jp メーリングリストの案内