This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: compile_file's stripdir does not accept pathlib.Path
Type: behavior Stage: patch review
Components: Library (Lib) Versions: Python 3.9
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: FFY00, hauntsaninja, xtreak
Priority: normal Keywords: patch

Created on 2020-04-30 06:18 by hauntsaninja, last changed 2022-04-11 14:59 by admin.

Pull Requests
URL Status Linked Edit
PR 19883 open FFY00, 2020-05-03 12:55
Messages (2)
msg367740 - (view) Author: Shantanu (hauntsaninja) * Date: 2020-04-30 06:18
Python 3.9 added the stripdir argument to compileall functions. From
> The stripdir, prependdir and limit_sl_dest arguments correspond to the -s, -p and -e options described above. They may be specified as str, bytes or os.PathLike.

~ λ python3.9
Python 3.9.0a6+ (heads/master:360371f, Apr 29 2020, 15:44:56) 
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import compileall, pathlib
>>> compileall.compile_file(pathlib.Path("tmp/"), stripdir=pathlib.Path("tmp"))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/shantanu/.pyenv/versions/3.9-dev/lib/python3.9/", line 161, in compile_file
    stripdir_parts = stripdir.split(os.path.sep)
AttributeError: 'PosixPath' object has no attribute 'split'

Found by Jelle Zijlstra in
msg367741 - (view) Author: Shantanu (hauntsaninja) * Date: 2020-04-30 06:23
If it helps triage, this is the BPO for where the changes to compileall were made:
Date User Action Args
2022-04-11 14:59:30adminsetgithub: 84627
2020-05-03 12:55:07FFY00setkeywords: + patch
nosy: + FFY00

pull_requests: + pull_request19195
stage: patch review
2020-04-30 06:32:44xtreaksetnosy: + xtreak
type: behavior
2020-04-30 06:23:58hauntsaninjasetmessages: + msg367741
2020-04-30 06:18:15hauntsaninjacreate