パッケージマネージャ()を使用して、いくつかのPythonパッケージpip
と他のパッケージをインストールしましたpacman
。システムを更新しようとするたびに、すでに持っているいくつかの依存Pythonモジュールをインストールしようとしているため、特定のファイルがすでに存在することを示すメッセージが表示されます。この問題をどのように解決できますか?
pip
問題を再現するには、パッケージマネージャを介して何かをインストールしてから同じパッケージをインストールしてみてください。例:
$ sudo pip インストール numpy
それから
$ sudo pacman -S python-numpy
答え1
まず、を使用してインストールしたのと同じ方法で削除できますpip
。
これがうまくいかないと、パッケージの一部ではないすべてのファイルを識別します。。あなたはそれを使用することができます失われたファイル行ってこれをやってみてください。その後、そのファイルを手動で削除します。
次に、pacmanを使用してすべてのPython(ruby、nodeなど)パッケージをインストールするか、スイッチを使用して--user
$ HOMEにインストールします。
答え2
警告:この回答はコマンド--force
のオプションを使用しますpacman
。自分が何をしているのかを知っている場合にのみ使用してください。
- 以下でインストールされたパッケージのリストをエクスポートします
pip
。
>>> pip凍結> packages.txt
- このコマンドを開始します。データベースに表示されていない
pacman
インストールパッケージを再ダウンロードしてインストールします。pip
installed
pacman
>>> $(awk -F "==" '{print $1}' packages.txt) の場合、 sudo pacman -S --needed --force --noconfirm python-$i; を実行します。
python2
2
上記のコマンドにafterをpython
追加して同じ操作を実行できます。pip
これからのみ使用して
pacman
は使用しないでくださいpip
。必要に応じて、pip
パッケージを使用して特定のバージョンにアップグレード/ダウングレードできます。
必要に応じてスクリプトバージョンを使用することもできます。
#!/bin/sh
pip freeze > packages.txt
for i in $(awk -F "==" '{print $1}' packages.txt)
do
sudo pacman -S --needed --force --noconfirm python-$i
done
ファイルに保存し、ファイルに実行権限を付与して実行します。