2017-10-13 12:49:49 +00:00
|
|
|
import os
|
|
|
|
import errno
|
|
|
|
import sys
|
|
|
|
|
2018-12-14 13:03:26 +00:00
|
|
|
from .extern import six
|
|
|
|
|
2017-10-13 12:49:49 +00:00
|
|
|
|
|
|
|
def _makedirs_31(path, exist_ok=False):
|
|
|
|
try:
|
|
|
|
os.makedirs(path)
|
|
|
|
except OSError as exc:
|
|
|
|
if not exist_ok or exc.errno != errno.EEXIST:
|
|
|
|
raise
|
|
|
|
|
|
|
|
|
|
|
|
# rely on compatibility behavior until mode considerations
|
|
|
|
# and exists_ok considerations are disentangled.
|
|
|
|
# See https://github.com/pypa/setuptools/pull/1083#issuecomment-315168663
|
|
|
|
needs_makedirs = (
|
2018-12-14 13:03:26 +00:00
|
|
|
six.PY2 or
|
2017-10-13 12:49:49 +00:00
|
|
|
(3, 4) <= sys.version_info < (3, 4, 1)
|
|
|
|
)
|
|
|
|
makedirs = _makedirs_31 if needs_makedirs else os.makedirs
|