После обновления одной из моих машин с Ubuntu 16.04 на AWS python / pip, похоже, не работает.
ubuntu@host:~$ pip install celery
Traceback (most recent call last):
File "/home/ubuntu/virtualenvs/myenv/bin/pip", line 7, in <module>
from pip import main
File "/home/ubuntu/virtualenvs/myenv/lib/python3.6/site-packages/pip/__init__.py", line 43, in <module>
from pip.utils import get_installed_distributions, get_prog
File "/home/ubuntu/virtualenvs/myenv/lib/python3.6/site-packages/pip/utils/__init__.py", line 23, in <module>
from pip.locations import (
File "/home/ubuntu/virtualenvs/myenv/lib/python3.6/site-packages/pip/locations.py", line 9, in <module>
from distutils import sysconfig
File "/home/ubuntu/virtualenvs/myenv/lib/python3.6/distutils/__init__.py", line 25, in <module>
from distutils import dist, sysconfig
ImportError: cannot import name 'dist'
ubuntu@host:~$ python3.6 -m pip install celery
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 183, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/usr/lib/python3.6/runpy.py", line 142, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/usr/lib/python3.6/runpy.py", line 109, in _get_module_details
__import__(pkg_name)
File "/home/ubuntu/virtualenvs/myenv/lib/python3.6/site-packages/pip/__init__.py", line 43, in <module>
from pip.utils import get_installed_distributions, get_prog
File "/home/ubuntu/virtualenvs/myenv/lib/python3.6/site-packages/pip/utils/__init__.py", line 23, in <module>
from pip.locations import (
File "/home/ubuntu/virtualenvs/myenv/lib/python3.6/site-packages/pip/locations.py", line 9, in <module>
from distutils import sysconfig
File "/home/ubuntu/virtualenvs/myenv/lib/python3.6/distutils/__init__.py", line 25, in <module>
from distutils import dist, sysconfig
ImportError: cannot import name 'dist'
Система запускает python3.6, установленный через jonathonf/python-3.6
ppa. До обновления системы (apt-get update && apt-get upgrade
) все работало как положено. Я также подтвердил это на других машинах, которые я еще не обновил.
Мне также не повезло, установка python3.6 в виртуальной среде на новую машину, так что, думаю, недавний выпуск или обновление что-то здесь сломали?
редактирование:
Я также сталкиваюсь с подобными проблемами при установке на свежую Ubuntu:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo add-apt-repository jonathonf/python-3.6
$ sudo apt-get update
$ sudo apt-get install python3.6
$ stat /usr/lib/python3.6/distutils/dist.py
stat: cannot stat '/usr/lib/python3.6/distutils/dist.py': No such file or directory
$ ll /usr/lib/python3.6/distutils/
total 36
drwxr-xr-x 2 root root 4096 May 3 15:55 ./
drwxr-xr-x 28 root root 12288 May 3 15:44 ../
-rw-r--r-- 1 root root 236 May 3 11:50 __init__.py
-rw-r--r-- 1 root root 12345 May 3 11:50 version.py
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial