web-dev-qa-db-ja.com

dpkgエラー:pycompile:見つかりません

Sudo apt-get remove --purge mysql-server mysql-client mysql-common

上記のコマンドを使用してmysqlを削除しようとすると、次のエラーが発生します。

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'mysql-client' is not installed, so not removed
The following package was automatically installed and is no longer required:

  php5-mysqlnd

Use 'apt-get autoremove' to remove it.

The following extra packages will be installed:

  mysql-server-core-5.5 php5-mysqlnd python-aptdaemon

 python-aptdaemon.gtk3widgets python3-aptdaemon python3-aptdaemon.gtk3widgets

  python3-aptdaemon.pkcompat python3-uno python3-update-manager
  ubuntu-drivers-common update-manager

The following packages will be REMOVED:
  libdbd-mysql-Perl* libmysqlclient18* mysql-client-5.5* mysql-common*
  mysql-server* mysql-server-5.5* php5-mysql* phpmyadmin*

The following NEW packages will be installed:
  php5-mysqlnd

The following packages will be upgraded:

  mysql-server-core-5.5 python-aptdaemon python-aptdaemon.gtk3widgets

  python3-aptdaemon python3-aptdaemon.gtk3widgets python3-aptdaemon.pkcompat

  python3-uno python3-update-manager ubuntu-drivers-common update-manager
10 upgraded, 1 newly installed, 8 to remove and 115 not upgraded.
170 not fully installed or removed.
Need to get 0 B/4,388 kB of archives.
After this operation, 89.9 MB disk space will be freed.
Do you want to continue? [Y/n] Y
Preconfiguring packages ...
(Reading database ... 354910 files and directories currently installed.)
Preparing to unpack .../ubuntu-drivers-common_1%3a0.2.91.9_AMD64.deb ...
/var/lib/dpkg/info/ubuntu-drivers-common.prerm: 12: /var/lib/dpkg/info/ubuntu-drivers-common.prerm: py3clean: not found
dpkg: warning: subprocess old pre-removal script returned error exit status 127
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: 12: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found

dpkg: error processing archive /var/cache/apt/archives/ubuntu-drivers-common_1%3a0.2.91.9_AMD64.deb (--unpack):

 subprocess new pre-removal script returned error exit status 127

/var/lib/dpkg/info/ubuntu-drivers-common.postinst: 6: 

/var/lib/dpkg/info/ubuntu-drivers-common.postinst: py3compile: not found
dpkg: error while cleaning up:

 subprocess installed post-installation script returned error exit status 127

Preparing to unpack .../python3-update-manager_1%3a0.196.13_all.deb ...

/var/lib/dpkg/info/python3-update-manager.prerm: 6: 

/var/lib/dpkg/info/python3-update-manager.prerm: py3clean: not found
dpkg: warning: subprocess old pre-removal script returned error exit status 127

dpkg: trying script from the new package instead ...

/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found

dpkg: error processing archive /var/cache/apt/archives/python3-update-manager_1%3a0.196.13_all.deb (--unpack):

 subprocess new pre-removal script returned error exit status 127

/var/lib/dpkg/info/python3-update-manager.postinst: 6: 

/var/lib/dpkg/info/python3-update-manager.postinst: py3compile: not found

dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 127

Preparing to unpack .../python3-aptdaemon.pkcompat_1.1.1-1ubuntu5.2_all.deb ...

/var/lib/dpkg/info/python3-aptdaemon.pkcompat.prerm: 6: 

/var/lib/dpkg/info/python3-aptdaemon.pkcompat.prerm: py3clean: not found

dpkg: warning: subprocess old pre-removal script returned error exit status 127

dpkg: trying script from the new package instead ...

/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found

dpkg: error processing archive /var/cache/apt/archives/python3-aptdaemon.pkcompat_1.1.1-1ubuntu5.2_all.deb (--unpack):
 subprocess new pre-removal script returned error exit status 127

/var/lib/dpkg/info/python3-aptdaemon.pkcompat.postinst: 6: 

/var/lib/dpkg/info/python3-aptdaemon.pkcompat.postinst: py3compile: not found

dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 127

Preparing to unpack .../python3-aptdaemon.gtk3widgets_1.1.1-1ubuntu5.2_all.deb ...

/var/lib/dpkg/info/python3-aptdaemon.gtk3widgets.prerm: 6: 

/var/lib/dpkg/info/python3-aptdaemon.gtk3widgets.prerm: py3clean: not found

dpkg: warning: subprocess old pre-removal script returned error exit status 127

dpkg: trying script from the new package instead ...

/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found

dpkg: error processing archive /var/cache/apt/archives/python3-aptdaemon.gtk3widgets_1.1.1-1ubuntu5.2_all.deb (--unpack):

 subprocess new pre-removal script returned error exit status 127

No apport report written because MaxReports is reached already
                                                              /var/lib/dpkg/info/python3-aptdaemon.gtk3widgets.postinst: 6: 

/var/lib/dpkg/info/python3-aptdaemon.gtk3widgets.postinst: py3compile: not found

dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 127
Preparing to unpack .../python3-aptdaemon_1.1.1-1ubuntu5.2_all.deb ...

/var/lib/dpkg/info/python3-aptdaemon.prerm: 6: /var/lib/dpkg/info/python3-aptdaemon.prerm: py3clean: not found

dpkg: warning: subprocess old pre-removal script returned error exit status 127

dpkg: trying script from the new package instead ...

/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found

dpkg: error processing archive /var/cache/apt/archives/python3-aptdaemon_1.1.1-1ubuntu5.2_all.deb (--unpack):

 subprocess new pre-removal script returned error exit status 127

No apport report written because MaxReports is reached already
                                                              /var/lib/dpkg/info/python3-aptdaemon.postinst: 6: 

/var/lib/dpkg/info/python3-aptdaemon.postinst: py3compile: not found

dpkg: error while cleaning up:

 subprocess installed post-installation script returned error exit status 127

Preparing to unpack .../update-manager_1%3a0.196.13_all.deb ...

/var/lib/dpkg/info/update-manager.prerm: 6: /var/lib/dpkg/info/update-manager.prerm: py3clean: not found

dpkg: warning: subprocess old pre-removal script returned error exit status 127

dpkg: trying script from the new package instead ...

/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found

dpkg: error processing archive /var/cache/apt/archives/update-manager_1%3a0.196.13_all.deb (--unpack):

 subprocess new pre-removal script returned error exit status 127

No apport report written because MaxReports is reached already
                                                              /var/lib/dpkg/info/update-manager.postinst: 6: /var/lib/dpkg/info/update-manager.postinst: py3compile: not found

dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 127

Preparing to unpack .../python-aptdaemon.gtk3widgets_1.1.1-1ubuntu5.2_all.deb ...

/var/lib/dpkg/info/python-aptdaemon.gtk3widgets.prerm: 6: 

/var/lib/dpkg/info/python-aptdaemon.gtk3widgets.prerm: pyclean: not found

dpkg: warning: subprocess old pre-removal script returned error exit status 127

dpkg: trying script from the new package instead ...

/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: pyclean: not found

dpkg: error processing archive /var/cache/apt/archives/python-aptdaemon.gtk3widgets_1.1.1-1ubuntu5.2_all.deb (--unpack):

 subprocess new pre-removal script returned error exit status 127

No apport report written because MaxReports is reached already
                                                              /var/lib/dpkg/info/python-aptdaemon.gtk3widgets.postinst: 6: 

/var/lib/dpkg/info/python-aptdaemon.gtk3widgets.postinst: pycompile: not found

dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 127
Preparing to unpack .../python-aptdaemon_1.1.1-1ubuntu5.2_all.deb ...

/var/lib/dpkg/info/python-aptdaemon.prerm: 6: /var/lib/dpkg/info/python-aptdaemon.prerm: pyclean: not found

dpkg: warning: subprocess old pre-removal script returned error exit status 127

dpkg: trying script from the new package instead ...

/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: pyclean: not found

dpkg: error processing archive /var/cache/apt/archives/python-aptdaemon_1.1.1-1ubuntu5.2_all.deb (--unpack):

 subprocess new pre-removal script returned error exit status 127
No apport report written because MaxReports is reached already
                                                              /var/lib/dpkg/info/python-aptdaemon.postinst: 6: 

/var/lib/dpkg/info/python-aptdaemon.postinst: pycompile: not found

dpkg: error while cleaning up:

 subprocess installed post-installation script returned error exit status 127

Preparing to unpack .../python3-uno_1%3a4.2.8-0ubuntu2_AMD64.deb ...

/var/lib/dpkg/info/python3-uno.prerm: 6: /var/lib/dpkg/info/python3-uno.prerm: py3clean: not found

dpkg: warning: subprocess old pre-removal script returned error exit status 127

dpkg: trying script from the new package instead ...

/var/lib/dpkg/tmp.ci/prerm: 6: /var/lib/dpkg/tmp.ci/prerm: py3clean: not found

dpkg: error processing archive /var/cache/apt/archives/python3-uno_1%3a4.2.8-0ubuntu2_AMD64.deb (--unpack):

 subprocess new pre-removal script returned error exit status 127
No apport report written because MaxReports is reached already
                                                              /var/lib/dpkg/info/python3-uno.postinst: 6: /var/lib/dpkg/info/python3-uno.postinst: py3compile: not found

dpkg: error while cleaning up:

 subprocess installed post-installation script returned error exit status 127

Errors were encountered while processing:

 /var/cache/apt/archives/ubuntu-drivers-common_1%3a0.2.91.9_AMD64.deb

 /var/cache/apt/archives/python3-update-manager_1%3a0.196.13_all.deb

 /var/cache/apt/archives/python3-aptdaemon.pkcompat_1.1.1-1ubuntu5.2_all.deb

 /var/cache/apt/archives/python3-aptdaemon.gtk3widgets_1.1.1-1ubuntu5.2_all.deb

 /var/cache/apt/archives/python3-aptdaemon_1.1.1-1ubuntu5.2_all.deb

 /var/cache/apt/archives/update-manager_1%3a0.196.13_all.deb

 /var/cache/apt/archives/python-aptdaemon.gtk3widgets_1.1.1-1ubuntu5.2_all.deb

 /var/cache/apt/archives/python-aptdaemon_1.1.1-1ubuntu5.2_all.deb

 /var/cache/apt/archives/python3-uno_1%3a4.2.8-0ubuntu2_AMD64.deb

E: Sub-process /usr/bin/dpkg returned an error code (1)

これを解決するにはどうすればよいですか?

10

py3compile:見つかりません

py3compileコマンドはpython3-minimalパッケージの一部であり、壊れているようです。

この問題を修正するには、次のことを試してください。

  • 次の方法で、依存関係が壊れているシステムを修正します。

    Sudo apt-get  -f install
    
  • 解凍されているが未設定のすべてのパッケージを次の方法で再構成します。

    Sudo dpkg --configure -a
    
  • 上記で問題が解決しない場合は、次の方法でpython3-minimalパッケージを再インストールしてみてください。

    Sudo apt install -f --reinstall python3-minimal
    

    または、次を実行します。

    apt-get download python3-minimal
    Sudo dpkg -i *python3*.deb
    Sudo apt install -f
    

    または、 .pkgファイルをkernel.orgから ダウンロードし、次の方法でファイルからインストールします。

    Sudo dpkg -i python3-minimal_*.deb
    

次に、py3compileおよびpy3cleanコマンドが実行可能であり、PATH変数からアクセスできることを確認します。

10
kenorb

ああ、そうだ。 Debianパッケージ管理の由緒ある「Catch-22」状況。パッケージがpy3compileも提供する場合、libpython3.xパッケージの一部としてpy3compileに応じてDebianに要約されます。それは行きません、そこに。

/ usr/[/ local]/lib/python3 *ディレクトリ全体を削除しすぎたため、私もpy3compileを再び機能させることができなかったことに噛まれました。

一度実行すると、Debianパッケージ管理ツールには、動作中のPython3環境に戻るのに役立つものは何もありません。あなたはミートボール手術をしなければなりません。

DebianでのPython3の再構築には、次の3つの重要なことが必要です。

  • py3compileスクリプトの復元(ほとんどの場合、すでにこれを持っています)
  • Libpython3.7の復元
  • 復元pythonバイナリ

別の動作中のDebianホスト/システムから/ usr [/ local]/libディレクトリの再コピーを行うことができます。しかし今回は、問題の壊れたホスト内からの手順を詳しく説明します(別の動作中のホストがないかのように)。

ステップ1-パッケージをダウンロードする

影響を受けるDebianパッケージをダウンロードします。

cd /tmp
apt-get download libpython3.7-minimal
apt-get download python3.7-minimal
apt-get download python3-minimal # (this is important)
apt-get download libpython3.7-stdlib
apt-get download python3.7

ステップ2-クリーンアップ

古いものをクリーンアップする

rm -rf /usr[/local]/lib/python3.7*
rm -rf /usr[/local]/bin/python3.7*
update-alternatives --remove python3 /usr[/local]/bin/python3.7
hash -r  # removes cached python3 binary path

ステップ3-パッケージからファイルを抽出する

不足しているpy3compileを抽出しましょう

cd /tmp
dpkg-deb -x python3-minimal_3.7.3-1_AMD64.deb missing
dpkg-deb -x python3.7-minimal_3.7.3-2_AMD64.deb missing
dpkg-deb -x libpython3.7-minimal_3.7.3-2_AMD64.deb missing
dpkg-deb -x libpython3.7-stdlib_3.7.3-2_AMD64.deb missing
dpkg-deb -x python3.7_3.7.3-2_AMD64.deb missing

ステップ3

ルートファイルシステムに手動でインストールする

cd /tmp/missing
Sudo cp -rpfv /tmp/missing/*  /

ステップ4-検証

Python3を起動します

python3
Python 3.7.3 (default, Apr  3 2019, 05:39:12) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

インポートをテストしてバージョンを表示する

>>> import sys
>>> print(sys.version_info)
sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)
>>>
>>> quit()

ステップ5-自分自身をクリーンアップする

rm -rf /tmp/missing

ステップ6-DebianAPT経由でPython

dpkg -s -a  | grep  reinstreq
# Any listing also needs to be reinstalled along with python3
apt-get install --reinstall python3

ほとんどの場合、「reinstreq」状態のスタック状態にある多くのパッケージを取得しました。

apt-get autoclean
apt-get autoremove
(MANY PACKAGES FAILED TO BE INSTALLED)

この時点で、apt-get autoremove...でリストされているものをすべて手動で再インストールする必要があります。

apt-get install --fix-broken --reinstall <list-of-many-failed-packages>

最後のステップ-影響を受けたハーフステートDebianパッケージの再インストール

推測させてください。次のエラーが発生しました。

E: Internal Error, No file name for XXXXXX

おそらくしばらくの間、/etc/apt/sources.listに新しいDebianリリースがあったことをお伝えしますが、それはすべて南下し(悪い)、sources.listファイルからその新しいリリースを取り出しました(元に戻すために) 「安定した」リリースに戻る):これは私にとって回復不可能なことではありません。Debianパッケージデータベースを少しだけぎくしゃくしただけです...かなり無愛想です。

最後のステップの解決には、ほぼすべてを再インストールすることによるDebianパッケージ管理データベースの復元と安定化が伴います。後で詳しく説明しますが、フォローするリンクは ここ です。

5
John Greene

Py3compileとpy3cleanが/ usr/bin /に存在するにもかかわらず、私のLubunutu 16.10シェル(tcsh)はpy3compileが存在しないと不平を言い続けました。何時間もの欲求不満の後、私はpycompileの最初の行が次のとおりであることを発見しました。

! /usr/bin/env python

またはそのようなもので、私のシステムではPython2.7を参照していました。 Python 3を指すように変更します:

! /usr/local/bin/python3

突然py3compileが表示されました!

シェルは、py3compileがPython2.7を参照しているときに、py3compileがパス内にあるか、「/ usr/bin/py3compile」で直接実行された場合でも、py3compileが存在しないと述べたことが判明しました。シェルはPythonバージョンなどについても文句を言わず、py3compile自体が存在しないと主張しただけです!

Python 3.5を削除して再インストールしたかったので、この混乱に陥りました。それを実行すると、まだPython 3があり、それを発見しました。削除して再インストールしようとしたpython-minimalからのものです。ネット上で見つけたすべてのものとすべてのパッケージマネージャーを試した後でも、python-minimalは再インストールされませんでした。それらはすべてpy3compileが見つからないことについて文句を言います。 py3compileのこの修正を発見しました。

0
Intros Pector

これを試して:

まず、不要になったパッケージを削除します。

Sudo apt-get autoremove

取得したパッケージファイルのローカルリポジトリをクリアします

Sudo apt-get autoclean

パッケージを削除します(mysql-clientはインストールされていません):

Sudo apt-get remove mysql-server mysql-common
0
teoreda