Jestem raczej nowy w Ubuntu i próbuję uruchomić menedżera aktualizacji na Ubuntu 13.10. Dostaję:
jacopo@jacopo-laptop:~$ update-manager
Traceback (most recent call last):
File "/usr/bin/update-manager", line 28, in <module>
from gi.repository import Gtk
File "/usr/lib/python3/dist-packages/gi/__init__.py", line 27, in <module> from ._gi import _API
ImportError: No module named 'gi._gi'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 20, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 21, in <module>
import apt_pkg
ImportError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "/usr/bin/update-manager", line 28, in <module>
from gi.repository import Gtk
File "/usr/lib/python3/dist-packages/gi/__init__.py", line 27, in <module>
from ._gi import _API
ImportError: No module named 'gi._gi'
O ile rozumiem, jest to problem związany z faktem, że powinienem mieć zainstalowany Python3.4. Zainstalowałem go /usr/local/lib
, ale zawsze pojawia się ten sam błąd. W ten sposób nie mogę nawet zaktualizować do Ubuntu 14.04.
13.10
apt
update-manager
python3
użytkownik291925
źródło
źródło
sudo apt install --reinstall <package-name>
, ponieważ pozwala to uniknąć obliczania i usuwania zależności (i oznaczania pakietów do usunięcia). Należy pamiętać, że usuwanie pakietów nie zawsze jest odwracalną procedurą; na przykład APT usunie siebie lub swoje zależności, jeśli zostanie o to poproszony!--reinstall
Flaga jest zatem znacznie bezpieczniejsze niżremove
następujeinstall
. Samoremove
polecenie nie usuwa plików konfiguracyjnych pakietu, więc nie ma żadnej przewagiinstall --reinstall
.sudo dpkg -r --force-depends apt-package
który zamiast tego odinstalowuje tylko apt-package, ale nie jego zależności.dla mnie zadziałały następujące kroki:
oryginalne rozwiązanie jest tutaj: /programming/13708180/python-dev-installation-error-importerror-no-module-named-apt-pkg/36232975#36232975
źródło
sudo ln -s apt_pkg.cpython-{35m,36m}-x86_64-linux-gnu.so
. Wersja35
(python 3.5) jest zainstalowana niezależnie od konkretnej pod-wersji python 3.x, którą używasz. Dzięki!źródło
update-alternatives --set python3 /usr/bin/python3.5
i zadziałało. python3 już wskazywałpython3.6
na mój system.Jeśli próbujesz zaktualizować wersję 13.10 do 14.04, spróbuj wykonać te instrukcje . Jeśli próbujesz tylko zaktualizować obecny system z wiersza polecenia, otwórz terminal i wpisz następujące polecenie:
źródło
update-manager
Udało mi się rozwiązać ten problem poprzez kopiowanie
apt_pkg.cpython-34m-i386-linux-gnu.so
do/usr/lib/python3/dist-packages/
innego komputera z systemem Ubuntu 14.04 LTS. Próbowałem prawie wszystkich możliwości, jakie można znaleźć w Internecie, takich jak czyszczenie instalacji Pythona, a następnie ponowna instalacja, czyszczenie uszkodzonych plików aktualizacji itp., Ale zakończyło się to bez powodzenia.źródło
Na wypadek, gdyby to pomogło innej, w końcu rozwiązałem ten problem, który najwyraźniej był spowodowany konfliktami wersji Pythona, przekierowując link python3, a następnie przekierowując go do właściwej wersji Pythona:
Może być konieczne wprowadzenie poprawnej wersji języka Python, znalezionej za pomocą
źródło
3.4
?Wskazówka: unikam instalowania „mojego” Pythona na / usr / local, ale mam jeden dedykowany katalog dla każdej wersji Pythona (np. W / opt) i używam środowisk wirtualnych na moim koncie użytkownika, aby użyć potrzebnego mi pytona, który jest aktywowany przez mój .profile
Dzięki takiemu podejściu zawsze będziesz unikać zmiany oczekiwanej konfiguracji i zależności systemu python.
Wiem, że jest za późno na twoją sprawę, ale ...
źródło
Problemem było to, że zainstalowałem python3.7 obok python3.6 i ustawiłem go jako domyślny.
Ręcznie uruchamiam następujące polecenie:
więc python3 wskazuje teraz na poprawną wersję pytona ... która rozwiązuje problem.
źródło
ln: failed to create symbolic link '/usr/bin/python3': File exists
. Jeśli robięls
w moim/usr/bin/python*
Mampython3
,python3.6
,python3.6m
,python3.7
,python3.7m
ipython3m
. Jeśli to zrobięsudo update-alternatives --config python3
, muszę*0 /usr/bin/python3.7 2 auto mode
,1 /usr/bin/python3.6 1 manual mode
i2 /usr/bin/python3.7 2 manual mode
. Dziękuję Ci.ln -sf /usr/bin/python3.6 /usr/bin/python3