Create __pycache__ dir when the pyc path is explicitly given
Patch from Arfrever Frehtes Taifersar Arahesis.
diff --git a/Lib/compileall.py b/Lib/compileall.py
index ea2ee7f..49c3e6b 100644
--- a/Lib/compileall.py
+++ b/Lib/compileall.py
@@ -93,12 +93,6 @@
cache_dir = os.path.dirname(cfile)
head, tail = name[:-3], name[-3:]
if tail == '.py':
- if not legacy:
- try:
- os.mkdir(cache_dir)
- except OSError as error:
- if error.errno != errno.EEXIST:
- raise
if not force:
try:
mtime = int(os.stat(fullname).st_mtime)
diff --git a/Lib/py_compile.py b/Lib/py_compile.py
index 03f2c62..111893e 100644
--- a/Lib/py_compile.py
+++ b/Lib/py_compile.py
@@ -123,11 +123,11 @@
return
if cfile is None:
cfile = imp.cache_from_source(file)
- try:
- os.mkdir(os.path.dirname(cfile))
- except OSError as error:
- if error.errno != errno.EEXIST:
- raise
+ try:
+ os.makedirs(os.path.dirname(cfile))
+ except OSError as error:
+ if error.errno != errno.EEXIST:
+ raise
with open(cfile, 'wb') as fc:
fc.write(b'\0\0\0\0')
wr_long(fc, timestamp)