2025-09-07T20:40:47,006 Created temporary directory: /tmp/pip-build-tracker-8o4pc7wi 2025-09-07T20:40:47,006 Initialized build tracking at /tmp/pip-build-tracker-8o4pc7wi 2025-09-07T20:40:47,006 Created build tracker: /tmp/pip-build-tracker-8o4pc7wi 2025-09-07T20:40:47,006 Entered build tracker: /tmp/pip-build-tracker-8o4pc7wi 2025-09-07T20:40:47,007 Created temporary directory: /tmp/pip-wheel-94xb5kes 2025-09-07T20:40:47,009 ERROR: Invalid requirement: 'django-tools==0.9.0.git-2c2330a': Expected end or semicolon (after version specifier) 2025-09-07T20:40:47,009 django-tools==0.9.0.git-2c2330a 2025-09-07T20:40:47,009 ~~~~~~~^ 2025-09-07T20:40:47,011 Exception information: 2025-09-07T20:40:47,011 Traceback (most recent call last): 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_vendor/packaging/requirements.py", line 36, in __init__ 2025-09-07T20:40:47,011 parsed = _parse_requirement(requirement_string) 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_vendor/packaging/_parser.py", line 62, in parse_requirement 2025-09-07T20:40:47,011 return _parse_requirement(Tokenizer(source, rules=DEFAULT_RULES)) 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_vendor/packaging/_parser.py", line 80, in _parse_requirement 2025-09-07T20:40:47,011 url, specifier, marker = _parse_requirement_details(tokenizer) 2025-09-07T20:40:47,011 ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_vendor/packaging/_parser.py", line 124, in _parse_requirement_details 2025-09-07T20:40:47,011 marker = _parse_requirement_marker( 2025-09-07T20:40:47,011 tokenizer, 2025-09-07T20:40:47,011 ...<5 lines>... 2025-09-07T20:40:47,011 ), 2025-09-07T20:40:47,011 ) 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_vendor/packaging/_parser.py", line 145, in _parse_requirement_marker 2025-09-07T20:40:47,011 tokenizer.raise_syntax_error( 2025-09-07T20:40:47,011 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2025-09-07T20:40:47,011 f"Expected end or semicolon (after {after})", 2025-09-07T20:40:47,011 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:40:47,011 span_start=span_start, 2025-09-07T20:40:47,011 ^^^^^^^^^^^^^^^^^^^^^^ 2025-09-07T20:40:47,011 ) 2025-09-07T20:40:47,011 ^ 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_vendor/packaging/_tokenizer.py", line 168, in raise_syntax_error 2025-09-07T20:40:47,011 raise ParserSyntaxError( 2025-09-07T20:40:47,011 ...<3 lines>... 2025-09-07T20:40:47,011 ) 2025-09-07T20:40:47,011 pip._vendor.packaging._tokenizer.ParserSyntaxError: Expected end or semicolon (after version specifier) 2025-09-07T20:40:47,011 django-tools==0.9.0.git-2c2330a 2025-09-07T20:40:47,011 ~~~~~~~^ 2025-09-07T20:40:47,011 2025-09-07T20:40:47,011 The above exception was the direct cause of the following exception: 2025-09-07T20:40:47,011 2025-09-07T20:40:47,011 Traceback (most recent call last): 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_internal/req/constructors.py", line 362, in _parse_req_string 2025-09-07T20:40:47,011 return get_requirement(req_as_string) 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_internal/utils/packaging.py", line 43, in get_requirement 2025-09-07T20:40:47,011 return Requirement(req_string) 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_vendor/packaging/requirements.py", line 38, in __init__ 2025-09-07T20:40:47,011 raise InvalidRequirement(str(e)) from e 2025-09-07T20:40:47,011 pip._vendor.packaging.requirements.InvalidRequirement: Expected end or semicolon (after version specifier) 2025-09-07T20:40:47,011 django-tools==0.9.0.git-2c2330a 2025-09-07T20:40:47,011 ~~~~~~~^ 2025-09-07T20:40:47,011 2025-09-07T20:40:47,011 During handling of the above exception, another exception occurred: 2025-09-07T20:40:47,011 2025-09-07T20:40:47,011 Traceback (most recent call last): 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper 2025-09-07T20:40:47,011 status = _inner_run() 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run 2025-09-07T20:40:47,011 return self.run(options, args) 2025-09-07T20:40:47,011 ~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 68, in wrapper 2025-09-07T20:40:47,011 return func(self, options, args) 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 120, in run 2025-09-07T20:40:47,011 reqs = self.get_requirements(args, options, finder, session) 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 236, in get_requirements 2025-09-07T20:40:47,011 req_to_add = install_req_from_line( 2025-09-07T20:40:47,011 req, 2025-09-07T20:40:47,011 ...<4 lines>... 2025-09-07T20:40:47,011 config_settings=getattr(options, "config_settings", None), 2025-09-07T20:40:47,011 ) 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_internal/req/constructors.py", line 405, in install_req_from_line 2025-09-07T20:40:47,011 parts = parse_req_from_line(name, line_source) 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_internal/req/constructors.py", line 379, in parse_req_from_line 2025-09-07T20:40:47,011 req: Optional[Requirement] = _parse_req_string(req_as_string) 2025-09-07T20:40:47,011 ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^ 2025-09-07T20:40:47,011 File "/usr/lib/python3/dist-packages/pip/_internal/req/constructors.py", line 376, in _parse_req_string 2025-09-07T20:40:47,011 raise InstallationError(msg) 2025-09-07T20:40:47,011 pip._internal.exceptions.InstallationError: Invalid requirement: 'django-tools==0.9.0.git-2c2330a': Expected end or semicolon (after version specifier) 2025-09-07T20:40:47,011 django-tools==0.9.0.git-2c2330a 2025-09-07T20:40:47,011 ~~~~~~~^ 2025-09-07T20:40:47,023 Removed build tracker: '/tmp/pip-build-tracker-8o4pc7wi'