mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
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
4 changed files with 16 additions and 1 deletions
|
@ -130,7 +130,9 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1):
|
||||||
else:
|
else:
|
||||||
cfile = imp.cache_from_source(file)
|
cfile = imp.cache_from_source(file)
|
||||||
try:
|
try:
|
||||||
os.makedirs(os.path.dirname(cfile))
|
dirname = os.path.dirname(cfile)
|
||||||
|
if dirname:
|
||||||
|
os.makedirs(dirname)
|
||||||
except OSError as error:
|
except OSError as error:
|
||||||
if error.errno != errno.EEXIST:
|
if error.errno != errno.EEXIST:
|
||||||
raise
|
raise
|
||||||
|
|
|
@ -39,6 +39,15 @@ class PyCompileTests(unittest.TestCase):
|
||||||
py_compile.compile(self.source_path)
|
py_compile.compile(self.source_path)
|
||||||
self.assertTrue(os.path.exists(self.cache_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):
|
def test_relative_path(self):
|
||||||
py_compile.compile(os.path.relpath(self.source_path),
|
py_compile.compile(os.path.relpath(self.source_path),
|
||||||
os.path.relpath(self.pyc_path))
|
os.path.relpath(self.pyc_path))
|
||||||
|
|
|
@ -941,6 +941,7 @@ Kannan Vijayan
|
||||||
Kurt Vile
|
Kurt Vile
|
||||||
Norman Vine
|
Norman Vine
|
||||||
Frank Visser
|
Frank Visser
|
||||||
|
Sjoerd de Vries
|
||||||
Niki W. Waibel
|
Niki W. Waibel
|
||||||
Wojtek Walczak
|
Wojtek Walczak
|
||||||
Charles Waldman
|
Charles Waldman
|
||||||
|
|
|
@ -83,6 +83,9 @@ Core and Builtins
|
||||||
Library
|
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
|
- Issue #13444: When stdout has been closed explicitly, we should not attempt
|
||||||
to flush it at shutdown and print an error.
|
to flush it at shutdown and print an error.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue