docker-compose启动错误无法导入名称_thread

对于那些试图在Docker-Composes上开始的所有优秀的人物。 我正在运行OS X El Capitan(10.11)。

该系统附带Python 2.7。 尝试将pythonreplace为python 3不推荐,因为许多核心系统依赖于python 2库。

为Mac安装“Docker”,在命令行中使用docker安装“docker-compose”。

去terminal:“docker-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不能解决它!

该错误源于python无法find“六个”模块的事实。 首先我做了:

 sudo pip install six -U //updates the six modules in python 

这并没有更好的,所以我从我的terminal做了以下:

 python -c 'import six; print(six.__version__)' 

对我来说,这打印出以下内容:

 /usr/local/bin/python2.7/site-packages/ 

这是什么让我知道我的六个模块的位置。 现在,如果你看看我在这个问题开始时发布的Python中的错误栈,你会发现所有的操作都发生在文件夹:/Library/Python/2.7/site-packages。 这是AHAA! 我的时刻。 由于某些原因,docker-compose python文件被安装在这个文件夹中,而不是在我的系统pythonpath(即/ usr / local / bin / python)中。 我不知道为什么!

然后我必须使用以下命令将six.py和six.pyc复制到/ Library中:

 cp /usr/local/bin/python2.7/site-packages/six.* /Library/Python/2.7/site-packages 

在这里做一点研究,不要放弃! 不要盲目地input上面的命令。 长话短说,复制文件到/Library/Python/2.7/site-packages做交易,现在我正在使用docker-compose的方式。

 sudo pip install --ignore-installed six 

资源

Interesting Posts