Issue #12618: py_compile cannot create files in current directory
Initial patch by Sjoerd de Vries.
This commit is contained in:
parent
7be8f68d37
commit
22b9b37915
|
@ -130,7 +130,9 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1):
|
|||
else:
|
||||
cfile = imp.cache_from_source(file)
|
||||
try:
|
||||
os.makedirs(os.path.dirname(cfile))
|
||||
dirname = os.path.dirname(cfile)
|
||||
if dirname:
|
||||
os.makedirs(dirname)
|
||||
except OSError as error:
|
||||
if error.errno != errno.EEXIST:
|
||||
raise
|
||||
|
|
|
@ -39,6 +39,15 @@ class PyCompileTests(unittest.TestCase):
|
|||
py_compile.compile(self.source_path)
|
||||
self.assertTrue(os.path.exists(self.cache_path))
|
||||
|
||||
def test_cwd(self):
|
||||
cwd = os.getcwd()
|
||||
os.chdir(self.directory)
|
||||
py_compile.compile(os.path.basename(self.source_path),
|
||||
os.path.basename(self.pyc_path))
|
||||
os.chdir(cwd)
|
||||
self.assertTrue(os.path.exists(self.pyc_path))
|
||||
self.assertFalse(os.path.exists(self.cache_path))
|
||||
|
||||
def test_relative_path(self):
|
||||
py_compile.compile(os.path.relpath(self.source_path),
|
||||
os.path.relpath(self.pyc_path))
|
||||
|
|
|
@ -941,6 +941,7 @@ Kannan Vijayan
|
|||
Kurt Vile
|
||||
Norman Vine
|
||||
Frank Visser
|
||||
Sjoerd de Vries
|
||||
Niki W. Waibel
|
||||
Wojtek Walczak
|
||||
Charles Waldman
|
||||
|
|
|
@ -83,6 +83,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #12618: Fix a bug that prevented py_compile from creating byte
|
||||
compiled files in the current directory. Initial patch by Sjoerd de Vries.
|
||||
|
||||
- Issue #13444: When stdout has been closed explicitly, we should not attempt
|
||||
to flush it at shutdown and print an error.
|
||||
|
||||
|
|
Loading…
Reference in New Issue