Для всех хороших парней, которые пытаются начать работу с докерером. Я запускаю OS X El Capitan (10.11).docker-compose startup error не может импортировать имя _thread
Система поставляется с python 2.7. Попытка заменить системный python на python 3 не рекомендуется, потому что многие основные системы зависят от библиотек python 2.
Установлен «Докер» для Mac и «докер-составление» с помощью докера в командной строке.
Переход к терминалу: 'Докер-Compose --version' бросает ошибку:
admins-MacBook-Pro-63:~ apil.tamang$ docker-compose --version
Traceback (most recent call last):
File "/usr/local/bin/docker-compose", line 9, in <module>
load_entry_point('docker-compose==1.8.1', 'console_scripts', 'docker-compose')()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 357, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2394, in load_entry_point
return ep.load()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2108, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "/Library/Python/2.7/site-packages/compose/cli/main.py", line 17, in <module>
from ..bundle import get_image_digests
File "/Library/Python/2.7/site-packages/compose/bundle.py", line 14, in <module>
from .service import format_environment
File "/Library/Python/2.7/site-packages/compose/service.py", line 31, in <module>
from .parallel import parallel_execute
File "/Library/Python/2.7/site-packages/compose/parallel.py", line 10, in <module>
from six.moves import _thread as thread
ImportError: cannot import name _thread
Что вы делаете? Просто установить python3 не исправить!
Вы использовали первый Compose команды установки показано [здесь] (https://docs.docker.com/compose/install/#/install-docker-compose) правильно? – idjaw
Я не уверен, какой метод я использовал. Вероятно, он использовал pip, поскольку это кажется самым прямым способом. –
Да, вы устанавливаете систему на уровне системы, используя Python по умолчанию. Это ваше намерение? Я бы предложил сделать это в virtualenv вместо этого. Вы * упоминали, что хотите сделать это в python 3. Итак, почему бы просто не настроить виртуальный диск на python 3 и установить вместо этого pipenv вместо этого virtualenv? – idjaw