先日、 Yayを使用してAURからパッケージをインストールしようとしました ヘルパープログラム。インストールしようとしたパッケージには、多くのPython依存関係があります。残念ながら、インストールできず、Yayは次のエラーをスローし続けました。競合するパッケージを削除すれば問題は解決すると思いました。しかし、私はシステムを壊したくありません。 AURからプログラムをインストールしようとしたときの出力エラーメッセージは次のとおりです。
error: failed to commit transaction (conflicting files) python-tabulate: /usr/bin/tabulate exists in filesystem python-tabulate: /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc exists in filesystem python-tabulate: /usr/lib/python3.6/site-packages/tabulate.py exists in filesystem Errors occurred, no packages were upgraded. :: Building torrench package(s)... ==> Making package: torrench 1.0.56-1 (Mon Oct 23 15:46:37 IST 2017) ==> Checking runtime dependencies... ==> Installing missing dependencies... error: target not found: python-tabulate ==> ERROR: 'pacman' failed to install missing dependencies.
上記の出力からわかるように、問題の原因となったのは次の3つのパッケージでした。
- / usr / bin / tabulate
- /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
- /usr/lib/python3.6/site-packages/tabulate.py
Arch Linuxで「エラー:'pacman'が不足している依存関係をインストールできませんでした」を解決
私にとって、問題のあるパッケージを削除すると問題が解決しました。ただし、問題のあるファイルが他のパッケージによって所有されていないことを常に確認することをお勧めします 。他のプログラムが所有している場合、それらを削除することはお勧めできません。したがって、これらの競合するファイルが他のパッケージによって所有されていないことを確認する必要があります。 パックマン コマンドは、ファイルがArchLinuxシステム内の他のパッケージによって所有されているかどうかを簡単に見つけることができます。
私の場合、上記のファイルが以下に示すように他のパッケージを所有しているかどうかを確認しました。
$ sudo pacman -Qo /usr/bin/tabulate
サンプル出力:
error: No package owns /usr/bin/tabulate
$ sudo pacman -Qo /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
サンプル出力:
error: No package owns /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
$ sudo pacman -Qo /usr/lib/python3.6/site-packages/tabulate.py
サンプル出力:
error: No package owns /usr/lib/python3.6/site-packages/tabulate.py
ご覧のとおり、上記のすべてのコマンドは、これらのファイルがどのパッケージにも所有されていないことを示しています。だから、私はそれらを一つずつ削除しただけです。
$ sudo rm /usr/bin/tabulate
$ sudo rm /usr/lib/python3.6/site-packages/__pycache__/tabulate.cpython-36.pyc
$ sudo rm /usr/lib/python3.6/site-packages/tabulate.py
終わり!これで、Pythonに依存するすべてのパッケージをインストールできるようになりました。安全のため、競合するファイルを削除する前にバックアップしてください。削除後に問題が発生した場合に備えて、復元できます。