|
|
@@ -1,49 +0,0 @@
|
|
|
-from __future__ import absolute_import
|
|
|
-from __future__ import print_function
|
|
|
-from __future__ import unicode_literals
|
|
|
-
|
|
|
-import os
|
|
|
-import subprocess
|
|
|
-import sys
|
|
|
-
|
|
|
-# Attempt to detect https://github.com/docker/compose/issues/4344
|
|
|
-try:
|
|
|
- # We don't try importing pip because it messes with package imports
|
|
|
- # on some Linux distros (Ubuntu, Fedora)
|
|
|
- # https://github.com/docker/compose/issues/4425
|
|
|
- # https://github.com/docker/compose/issues/4481
|
|
|
- # https://github.com/pypa/pip/blob/master/pip/_vendor/__init__.py
|
|
|
- env = os.environ.copy()
|
|
|
- env[str('PIP_DISABLE_PIP_VERSION_CHECK')] = str('1')
|
|
|
-
|
|
|
- s_cmd = subprocess.Popen(
|
|
|
- # DO NOT replace this call with a `sys.executable` call. It breaks the binary
|
|
|
- # distribution (with the binary calling itself recursively over and over).
|
|
|
- ['pip', 'freeze'], stderr=subprocess.PIPE, stdout=subprocess.PIPE,
|
|
|
- env=env
|
|
|
- )
|
|
|
- packages = s_cmd.communicate()[0].splitlines()
|
|
|
- dockerpy_installed = len(
|
|
|
- list(filter(lambda p: p.startswith(b'docker-py=='), packages))
|
|
|
- ) > 0
|
|
|
- if dockerpy_installed:
|
|
|
- from .colors import yellow
|
|
|
- print(
|
|
|
- yellow('WARNING:'),
|
|
|
- "Dependency conflict: an older version of the 'docker-py' package "
|
|
|
- "may be polluting the namespace. "
|
|
|
- "If you're experiencing crashes, run the following command to remedy the issue:\n"
|
|
|
- "pip uninstall docker-py; pip uninstall docker; pip install docker",
|
|
|
- file=sys.stderr
|
|
|
- )
|
|
|
-
|
|
|
-except OSError:
|
|
|
- # pip command is not available, which indicates it's probably the binary
|
|
|
- # distribution of Compose which is not affected
|
|
|
- pass
|
|
|
-except UnicodeDecodeError:
|
|
|
- # ref: https://github.com/docker/compose/issues/4663
|
|
|
- # This could be caused by a number of things, but it seems to be a
|
|
|
- # python 2 + MacOS interaction. It's not ideal to ignore this, but at least
|
|
|
- # it doesn't make the program unusable.
|
|
|
- pass
|