Несколько дней назад я обновил свою машину с 15.10 до 16.04.
Теперь я столкнулся с этой странной проблемой: rhythmbox
говорит мне, что он не смог импортировать модуль сайта и вылетает, потому что python3.5
отсутствует модуль _sysconfigdata_m
.
У меня была установка из источника python3.5.1
, но похоже, что релиз-апгрейд удалил эту установку.
Старые файлы python3.5.1
находились в /usr/lib/python3.5.1/
.
Я уже пытался переустановить python3.5
и rhythmbox
.
Полный возврат:
me@my_machine:~$ rhythmbox
Failed to import the site module
Traceback (most recent call last):
File "/usr/lib/python3.5/site.py", line 580, in <module>
main()
File "/usr/lib/python3.5/site.py", line 566, in main
known_paths = addusersitepackages(known_paths)
File "/usr/lib/python3.5/site.py", line 287, in addusersitepackages
user_site = getusersitepackages()
File "/usr/lib/python3.5/site.py", line 263, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/usr/lib/python3.5/site.py", line 253, in getuserbase
USER_BASE = get_config_var('userbase')
File "/usr/lib/python3.5/sysconfig.py", line 595, in get_config_var
return get_config_vars().get(name)
File "/usr/lib/python3.5/sysconfig.py", line 538, in get_config_vars
_init_posix(_CONFIG_VARS)
File "/usr/lib/python3.5/sysconfig.py", line 410, in _init_posix
from _sysconfigdata import build_time_vars
File "/usr/lib/python3.5/_sysconfigdata.py", line 6, in <module>
from _sysconfigdata_m import *
ImportError: No module named '_sysconfigdata_m'
кстати :
Кажется, что 16.04 удалено python3.4
(по умолчанию python3
) ) и заменил его на python3.2
.
Связывание /usr/bin/python3.2
с /usr/bin/python3
просто вызвало сбой других python3
программ, таких как gnome-termial.
Другие форумы говорили, что эта ошибка появляется, если вместо python3
используется python2
, поэтому я как бы застрял.
Обновление : Я добавил отладочный вывод в /usr/lib/python3.5/_sysconfigdata.py
:
print(sys.version)
Вывод
3.5.1 (default, Feb 10 2016, 15:13:13)
[GCC 5.2.1 20151010]
, но должно быть
3.5.1+ (default, Mar 30 2016, 22:46:26)
[GCC 5.3.1 20160330]
У меня нет такой python3
установки на моей машине! Я искал несколько раз для такой установки.
Редактировать :
Я попытался полностью переустановить python3
, запустив
sudo apt autoremove --purge python3
НЕ НУЖНО ПОПРОБУЙТЕ ЭТО ДОМА!
Это удалит почти все программы на вашем компьютере. Мне потребовалось 6 часов, чтобы восстановить мою базовую систему! У меня остался только один gnome-terminal
, потому что он был загружен в оперативную память.
Но это не решило мою проблему.
Это не решение, а фиксация
, я добавил
for p in sys.path:
print(p)
к /usr/lib/python3.5/_sysconfigdata.py
. Путем /usr/lib/python3.5/plat-x86_64-linux-gnu
заменили с /usr/lib/python3.5/plat-gnu
.
Фиксация его
я зафиксировал его путем добавления следующего обходного решения к файлу:
plat_path = "/usr/lib/python3.5/plat-x86_64-linux-gnu"
if(not plat_path in sys.path):
sys.path.append(plat_path)
я все еще не знаю, почему это произошло.