New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failures with PYTHONDONTWRITEBYTECODE: test_importlib, test_imp, test_distutils, test_packaging, test_runpy, test_import #56326
Comments
I get the following failure under a fresh checkout: ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/importlib/test/source/test_file_loader.py", line 129, in test_file_from_empty_string_dir
shutil.rmtree(pycache)
File "/home/antoine/t/cpython/Lib/shutil.py", line 270, in rmtree
onerror(os.listdir, path, sys.exc_info())
File "/home/antoine/t/cpython/Lib/shutil.py", line 268, in rmtree
names = os.listdir(path)
OSError: [Errno 2] No such file or directory: '__pycache__' |
This is due to PYTHONDONTWRITEBYTECODE being set. Not sure this is worth fixing. |
The following issues has been marked as a duplicate of this issue:
Tarek did the following commit to try to fix test_packaging: New changeset 9d1fb6a9104b by Tarek Ziade in branch 'default': |
Traceback of the duplicate issues: ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/test/test_imp.py", line 163, in test_issue5604
temp_mod_name, imp.cache_from_source(temp_mod_name + '.py'))
IOError: [Errno 2] No such file or directory ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/distutils/tests/test_build_py.py", line 61, in test_package_data
self.assertTrue("__init__.pyc" in files)
AssertionError: False is not true ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/packaging/tests/test_command_build_py.py", line 64, in test_package_data
self.assertIn("__init__.pyc", files)
AssertionError: '__init__.pyc' not found in ['README.txt', '__init__.py'] ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/test/test_runpy.py", line 283, in test_explicit_relative_import
self._check_relative_imports(depth)
File "/home/antoine/t/cpython/Lib/test/test_runpy.py", line 257, in _check_relative_imports
make_legacy_pyc(mod_fname)
File "/home/antoine/t/cpython/Lib/test/support.py", line 217, in make_legacy_pyc
os.rename(pyc_file, legacy_pyc)
OSError: [Errno 2] No such file or directory ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/test/test_runpy.py", line 288, in test_main_relative_import
self._check_relative_imports(depth, "__main__")
File "/home/antoine/t/cpython/Lib/test/test_runpy.py", line 257, in _check_relative_imports
make_legacy_pyc(mod_fname)
File "/home/antoine/t/cpython/Lib/test/support.py", line 217, in make_legacy_pyc
os.rename(pyc_file, legacy_pyc)
OSError: [Errno 2] No such file or directory ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/test/test_runpy.py", line 273, in test_run_module
self._check_module(depth)
File "/home/antoine/t/cpython/Lib/test/test_runpy.py", line 177, in _check_module
make_legacy_pyc(mod_fname)
File "/home/antoine/t/cpython/Lib/test/support.py", line 217, in make_legacy_pyc
os.rename(pyc_file, legacy_pyc)
OSError: [Errno 2] No such file or directory ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/test/test_runpy.py", line 278, in test_run_package
self._check_package(depth)
File "/home/antoine/t/cpython/Lib/test/test_runpy.py", line 201, in _check_package
make_legacy_pyc(mod_fname)
File "/home/antoine/t/cpython/Lib/test/support.py", line 217, in make_legacy_pyc
os.rename(pyc_file, legacy_pyc)
OSError: [Errno 2] No such file or directory ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/test/test_import.py", line 253, in test_file_to_source
make_legacy_pyc(source)
File "/home/antoine/t/cpython/Lib/test/support.py", line 217, in make_legacy_pyc
os.rename(pyc_file, legacy_pyc)
OSError: [Errno 2] No such file or directory ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/test/test_import.py", line 584, in test___cached___legacy_pyc
pyc_file = make_legacy_pyc(self.source)
File "/home/antoine/t/cpython/Lib/test/support.py", line 217, in make_legacy_pyc
os.rename(pyc_file, legacy_pyc)
OSError: [Errno 2] No such file or directory ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/test/test_import.py", line 564, in test_missing_source_legacy
pyc_file = make_legacy_pyc(self.source)
File "/home/antoine/t/cpython/Lib/test/support.py", line 217, in make_legacy_pyc
os.rename(pyc_file, legacy_pyc)
OSError: [Errno 2] No such file or directory ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/test/test_import.py", line 112, in test_execute_bit_not_copied
self.fail("__import__ did not result in creation of "
AssertionError: __import__ did not result in creation of either a .pyc or .pyo file ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/test/test_import.py", line 531, in test_import_pyc_path
self.assertTrue(os.path.exists('__pycache__'))
AssertionError: False is not true ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/test/test_import.py", line 552, in test_missing_source
self.assertTrue(os.path.exists(pyc_file))
AssertionError: False is not true ====================================================================== Traceback (most recent call last):
File "/home/antoine/t/cpython/Lib/test/test_import.py", line 543, in test_unwritable_directory
self.assertTrue(os.path.exists('__pycache__'))
AssertionError: False is not true Antoine's setup (msg136318): "Indeed, PYTHONDONTWRITEBYTECODE seems set by default on this Linux install... Ouch." |
Several of these could be handled just by having test.support.make_legacy_pyc() fall back to compiling from source if sys.dont_write_bytecode is set. The others may need to be skipped in that situation. |
Honestly, now that it's been established that it has to do with a bogus system default (on Mageia/Mandriva installs), I'm not sure it's worth fixing if it means adding more logic to the tests. |
In fact, not fixing it might send a small message as to what we think about that particular system default :) |
Is this still relevant? |
Unless someone cares enough to decorate the tests that should not write the bytecode (I think I have one such decorator in the importlib tests, but I think it is more for other VMs than for this situation) then I wouldn't worry about this. |
Alright, closing. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: