Risolvilo con questo:
cd /usr/lib/python3/dist-packages
cp apt_pkg.cpython-34m-i386-linux-gnu.so apt_pkg.so
Oppure:
cd /usr/lib/python3/dist-packages
cp apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.so
Fondamentalmente, se ottieni un No such file or directory
solo ls
per cercare di ottenere il nome giusto.
Ho riscontrato questo problema durante l'esecuzione di sudo apt-get update
. Il mio env è debian8, con python2.7 + 3.4 (predefinito) + 3.5.
Il codice seguente ricreerà solo un apt_pkg....so
file per Python 3.5
sudo apt-get install python3-apt --reinstall
Il seguente codice ha risolto il mio problema,
cd /usr/lib/python3/dist-packages
sudo ln -s apt_pkg.cpython-{your-version-number}-x86_64-linux-gnu.so apt_pkg.so
Sostituisci {your-version-number}
in modo appropriato.
ATTENZIONE , quanto segue creerà un collegamento simbolico da apt_pkg37m a apt_pkg36m. assicurati di collegarti alla versione corretta o almeno a una versione esistente di ll apt_pkg.cpython-*
, e vedi quale(i) hai installato.
sudo ln -s apt_pkg.cpython-{36m,37m}-x86_64-linux-gnu.so
Quindi, ovviamente, python3-apt controlla la versione più alta di Python, invece dell'attuale versione di Python in uso.
Per capire perché questo sta accadendo, vedi questa risposta più in basso:https://stackoverflow.com/a/64241654/21539