Issue47026
Created on 2022-03-15 13:29 by graingert, last changed 2022-04-11 14:59 by admin.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| zipfile_demo.py | graingert, 2022-03-15 13:29 | |||
| Messages (3) | |||
|---|---|---|---|
| msg415245 - (view) | Author: Thomas Grainger (graingert) * | Date: 2022-03-15 13:29 | |
importing from a bytes zipimport path on sys.path results in a BytesWarning: Comparison between bytes and string running the reproducer with `python -b` shows: python -b zipfile_demo.py <frozen importlib._bootstrap_external>:1345: BytesWarning: Comparison between bytes and string see also https://bugs.python.org/issue47025 |
|||
| msg415643 - (view) | Author: Andrei Kulakov (andrei.avk) * ![]() |
Date: 2022-03-21 00:11 | |
This warning can be fixed by changing the following line: https://github.com/python/cpython/blob/9d1c4d69dbc800ac344565119337fcf490cdc800/Lib/importlib/_bootstrap_external.py#L1419 to: if not path and str(path) == '': and running `make regen-importlib; make` Alternatively the change can be: if not path and isinstance(path, (str,bytes)): I'm not sure which is preferable or if some other fix would be better (I don't know much about importlib). === Adding Brett as the expert -- Brett, can you take a look? Adding a full traceback with -bb argument: Traceback (most recent call last): File "/Users/ak/temp2/zipfile_demo.py", line 29, in <module> sys.exit(main()) ^^^^^^ File "/Users/ak/opensource/cpython4/Lib/contextlib.py", line 155, in __exit__ self.gen.throw(typ, value, traceback) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ak/temp2/zipfile_demo.py", line 12, in _tmp_path yield pathlib.Path(tmp_dir) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/ak/temp2/zipfile_demo.py", line 24, in main import module ^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1140, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 1080, in _find_spec File "<frozen importlib._bootstrap_external>", line 1493, in find_spec File "<frozen importlib._bootstrap_external>", line 1462, in _get_spec File "<frozen importlib._bootstrap_external>", line 1418, in _path_importer_cache BytesWarning: Comparison between bytes and string |
|||
| msg415721 - (view) | Author: Brett Cannon (brett.cannon) * ![]() |
Date: 2022-03-21 23:00 | |
bpo-47025 is a bigger discussion about bytes paths that probably needs to be resolved first before worrying about zipimport. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:59:57 | admin | set | github: 91182 |
| 2022-03-21 23:00:44 | brett.cannon | set | messages: + msg415721 |
| 2022-03-21 23:00:18 | brett.cannon | set | dependencies: + bytes do not work on sys.path |
| 2022-03-21 00:11:50 | andrei.avk | set | nosy:
+ brett.cannon, andrei.avk messages: + msg415643 |
| 2022-03-15 13:29:09 | graingert | create | |

