setuptools_scm: Issue with 'hg was not found'

Hello, I’m getting this error: docs: packaging backend failed (code=1), with OSError: 'hg' was not found Traceback (most recent call last): File "C:\Users\yyyyyy\AppData\Roaming\Python\Python310\site-packages\pyproject_api\_backend.py", line 90, in run outcome = backend_proxy(parsed_message["cmd"], **parsed_message["kwargs"]) File "C:\Users\yyyyyy\AppData\Roaming\Python\Python310\site-packages\pyproject_api\_backend.py", line 32, in __call__ return getattr(on_object, name)(*args, **kwargs) File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools\build_meta.py", line 380, in prepare_metadata_for_build_wheel self.run_setup() File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools\build_meta.py", line 487, in run_setup super(_BuildMetaLegacyBackend, File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools\build_meta.py", line 338, in run_setup exec(code, locals()) File "<string>", line 18, in <module> File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools\__init__.py", line 107, in setup return distutils.core.setup(**attrs) File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools\_distutils\core.py", line 147, in setup _setup_distribution = dist = klass(attrs) File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools\dist.py", line 496, in __init__ _Distribution.__init__( File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools\_distutils\dist.py", line 283, in __init__ self.finalize_options() File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools\dist.py", line 935, in finalize_options ep(self) File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools\dist.py", line 955, in _finalize_setup_keywords ep.load()(self, ep.name, value) File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools_scm\integration.py", line 91, in version_keyword _assign_version(dist, config) File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools_scm\integration.py", line 60, in _assign_version maybe_version = _get_version(config) File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools_scm\__init__.py", line 153, in _get_version parsed_version = _do_parse(config) File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools_scm\__init__.py", line 100, in _do_parse version = _version_from_entrypoints(config) or _version_from_entrypoints( File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools_scm\_entrypoints.py", line 66, in _version_from_entrypoints version: ScmVersion | None = _call_entrypoint_fn(root, config, ep.load()) File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools_scm\_entrypoints.py", line 40, in _call_entrypoint_fn return fn(root, config=config) File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools_scm\hg.py", line 164, in parse wd = HgWorkdir.from_potential_worktree(config.absolute_root) File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools_scm\hg.py", line 29, in from_potential_worktree require_command(cls.COMMAND) File "D:\Test\tester\xxxxxxxxxxx\.tox\.pkg\lib\site-packages\setuptools_scm\utils.py", line 171, in require_command raise OSError("%r was not found" % name) OSError: 'hg' was not found Backend: run command prepare_metadata_for_build_wheel with args {'metadata_directory': 'D:\\Test\\tester\\xxxxxxxxxxx\\.tox\\.pkg\\.meta', 'config_settings': {'--build-option': []}} Backend: Wrote response {'code': 1, 'exc_type': 'OSError', 'exc_msg': "'hg' was not found"} to C:\Users\yyyyyy\AppData\Local\Temp\pep517_prepare_metadata_for_build_wheel-on2nznbh.json

Notes: Python 3.10.6 hg is installed at C:\Program Files\TortoiseHg
Tried cloning project again Reinstalling python Reinstalling all dependencies to tox Removed .tox folder in users folder Tried reinstalling THG If i separate the require_comman from the package and run it in pycharm scratch file it finds hg without a problem.

Anyone have any idea what could be wrong? I’ve seen the same issue in other packages so it is not related to the package. Even got collogues with the same issue. I sadly cannot remember what i did to cause the issue.

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 34 (14 by maintainers)

Most upvoted comments

I’m making a stab here, except my project has nothing to with HG whatsoever (other than the error message at the end of the traceback). I’m assuming the hg bit somehow gets invoked because the error starts with the “pretending there aren’t any (git files)” as shown here:

2023-09-25T01:02:02.5484407Z * Building wheel...
2023-09-25T01:02:03.6570094Z running bdist_wheel
2023-09-25T01:02:03.6576383Z running build
2023-09-25T01:02:03.6577376Z running build_py
2023-09-25T01:02:03.6577911Z creating build
2023-09-25T01:02:03.6579439Z creating build\lib
2023-09-25T01:02:03.6579835Z creating build\lib\procman
2023-09-25T01:02:03.6580611Z copying procman\procman.py -> build\lib\procman
2023-09-25T01:02:03.6581155Z copying procman\utils.py -> build\lib\procman
2023-09-25T01:02:03.6581677Z copying procman\__init__.py -> build\lib\procman
2023-09-25T01:02:03.6582670Z creating build\lib\procman\examples
2023-09-25T01:02:03.6583238Z copying procman\examples\app.py -> build\lib\procman\examples
2023-09-25T01:02:03.6583951Z copying procman\examples\run_redis.sh -> build\lib\procman\examples
2023-09-25T01:02:03.6584548Z installing to build\bdist.win-amd64\wheel
2023-09-25T01:02:03.6584956Z running install
2023-09-25T01:02:03.6585322Z running install_lib
2023-09-25T01:02:03.6585771Z creating build\bdist.win-amd64
2023-09-25T01:02:03.6586240Z creating build\bdist.win-amd64\wheel
2023-09-25T01:02:03.6586751Z creating build\bdist.win-amd64\wheel\procman
2023-09-25T01:02:03.6587289Z creating build\bdist.win-amd64\wheel\procman\examples
2023-09-25T01:02:03.6587931Z copying build\lib\procman\examples\app.py -> build\bdist.win-amd64\wheel\.\procman\examples
2023-09-25T01:02:03.6590479Z copying build\lib\procman\examples\run_redis.sh -> build\bdist.win-amd64\wheel\.\procman\examples
2023-09-25T01:02:03.6591686Z copying build\lib\procman\procman.py -> build\bdist.win-amd64\wheel\.\procman
2023-09-25T01:02:03.6592538Z copying build\lib\procman\utils.py -> build\bdist.win-amd64\wheel\.\procman
2023-09-25T01:02:03.6598494Z copying build\lib\procman\__init__.py -> build\bdist.win-amd64\wheel\.\procman
2023-09-25T01:02:03.6599333Z running install_egg_info
2023-09-25T01:02:03.6599860Z running egg_info
2023-09-25T01:02:03.6601340Z writing procman.egg-info\PKG-INFO
2023-09-25T01:02:03.6602090Z writing dependency_links to procman.egg-info\dependency_links.txt
2023-09-25T01:02:03.6602712Z writing entry points to procman.egg-info\entry_points.txt
2023-09-25T01:02:03.6603129Z writing requirements to procman.egg-info\requires.txt
2023-09-25T01:02:03.6603761Z writing top-level names to procman.egg-info\top_level.txt
2023-09-25T01:02:03.6730155Z ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
2023-09-25T01:02:23.7857218Z Traceback (most recent call last):
2023-09-25T01:02:23.7868031Z   File "D:\a\procman\procman\.tox\build\Lib\site-packages\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
2023-09-25T01:02:24.1541608Z     main()
2023-09-25T01:02:24.1547626Z   File "D:\a\procman\procman\.tox\build\Lib\site-packages\pyproject_hooks\_in_process\_in_process.py", line 335, in main
2023-09-25T01:02:24.1548414Z     json_out['return_val'] = hook(**hook_input['kwargs'])
2023-09-25T01:02:24.1548728Z                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-09-25T01:02:24.1549384Z   File "D:\a\procman\procman\.tox\build\Lib\site-packages\pyproject_hooks\_in_process\_in_process.py", line 251, in build_wheel
2023-09-25T01:02:24.1549844Z     return _build_backend().build_wheel(wheel_directory, config_settings,
2023-09-25T01:02:24.1550159Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-09-25T01:02:24.1550762Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\build_meta.py", line 434, in build_wheel
2023-09-25T01:02:24.1551209Z     return self._build_with_temp_dir(
2023-09-25T01:02:24.1551426Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-09-25T01:02:24.1552013Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\build_meta.py", line 419, in _build_with_temp_dir
2023-09-25T01:02:24.1552427Z     self.run_setup()
2023-09-25T01:02:24.1553052Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\build_meta.py", line 341, in run_setup
2023-09-25T01:02:24.1553436Z     exec(code, locals())
2023-09-25T01:02:24.1553741Z   File "<string>", line 3, in <module>
2023-09-25T01:02:24.1554315Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\__init__.py", line 103, in setup
2023-09-25T01:02:24.1554737Z     return distutils.core.setup(**attrs)
2023-09-25T01:02:24.1554970Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-09-25T01:02:24.1555527Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
2023-09-25T01:02:24.1556103Z     return run_commands(dist)
2023-09-25T01:02:24.1556327Z            ^^^^^^^^^^^^^^^^^^
2023-09-25T01:02:24.1556864Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
2023-09-25T01:02:24.1557266Z     dist.run_commands()
2023-09-25T01:02:24.1557841Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
2023-09-25T01:02:24.1558265Z     self.run_command(cmd)
2023-09-25T01:02:24.1558804Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\dist.py", line 989, in run_command
2023-09-25T01:02:24.1559182Z     super().run_command(command)
2023-09-25T01:02:24.1559741Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
2023-09-25T01:02:24.1560127Z     cmd_obj.run()
2023-09-25T01:02:24.1560626Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\wheel\bdist_wheel.py", line 399, in run
2023-09-25T01:02:24.1560995Z     self.run_command("install")
2023-09-25T01:02:24.1561567Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
2023-09-25T01:02:24.1562013Z     self.distribution.run_command(command)
2023-09-25T01:02:24.1562585Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\dist.py", line 989, in run_command
2023-09-25T01:02:24.1562974Z     super().run_command(command)
2023-09-25T01:02:24.1563514Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
2023-09-25T01:02:24.1563895Z     cmd_obj.run()
2023-09-25T01:02:24.1564418Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\command\install.py", line 78, in run
2023-09-25T01:02:24.1564829Z     return orig.install.run(self)
2023-09-25T01:02:24.1565169Z            ^^^^^^^^^^^^^^^^^^^^^^
2023-09-25T01:02:24.1565721Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\_distutils\command\install.py", line 708, in run
2023-09-25T01:02:24.1566133Z     self.run_command(cmd_name)
2023-09-25T01:02:24.1566682Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
2023-09-25T01:02:24.1567089Z     self.distribution.run_command(command)
2023-09-25T01:02:24.1567655Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\dist.py", line 989, in run_command
2023-09-25T01:02:24.1568047Z     super().run_command(command)
2023-09-25T01:02:24.1568614Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
2023-09-25T01:02:24.1568995Z     cmd_obj.run()
2023-09-25T01:02:24.1569516Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\command\install_egg_info.py", line 31, in run
2023-09-25T01:02:24.1569967Z     self.run_command('egg_info')
2023-09-25T01:02:24.1570518Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
2023-09-25T01:02:24.1570931Z     self.distribution.run_command(command)
2023-09-25T01:02:24.1571476Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\dist.py", line 989, in run_command
2023-09-25T01:02:24.1571839Z     super().run_command(command)
2023-09-25T01:02:24.1572384Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
2023-09-25T01:02:24.1572895Z     cmd_obj.run()
2023-09-25T01:02:24.1573417Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\command\egg_info.py", line 318, in run
2023-09-25T01:02:24.1573777Z     self.find_sources()
2023-09-25T01:02:24.1574330Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\command\egg_info.py", line 326, in find_sources
2023-09-25T01:02:24.1574711Z     mm.run()
2023-09-25T01:02:24.1575236Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\command\egg_info.py", line 548, in run
2023-09-25T01:02:24.1575606Z     self.add_defaults()
2023-09-25T01:02:24.1576163Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\command\egg_info.py", line 589, in add_defaults
2023-09-25T01:02:24.1576580Z     rcfiles = list(walk_revctrl())
2023-09-25T01:02:24.1576816Z               ^^^^^^^^^^^^^^^^^^^^
2023-09-25T01:02:24.1577428Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools\command\sdist.py", line 18, in walk_revctrl
2023-09-25T01:02:24.1577824Z     for item in ep.load()(dirname):
2023-09-25T01:02:24.1578064Z                 ^^^^^^^^^^^^^^^^^^
2023-09-25T01:02:24.1578633Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools_scm\_file_finders\__init__.py", line 103, in find_files
2023-09-25T01:02:24.1579514Z     res: list[str] = command(path)
2023-09-25T01:02:24.1579721Z                      ^^^^^^^^^^^^^
2023-09-25T01:02:24.1580282Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools_scm\_file_finders\hg.py", line 50, in hg_find_files
2023-09-25T01:02:24.1580708Z     toplevel = _hg_toplevel(path)
2023-09-25T01:02:24.1580937Z                ^^^^^^^^^^^^^^^^^^
2023-09-25T01:02:24.1581478Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools_scm\_file_finders\hg.py", line 18, in _hg_toplevel
2023-09-25T01:02:24.1581877Z     res = _run(
2023-09-25T01:02:24.1582067Z           ^^^^^
2023-09-25T01:02:24.1583823Z   File "C:\Users\runneradmin\AppData\Local\Temp\build-env-zwhhk0h8\Lib\site-packages\setuptools_scm\_run_cmd.py", line 138, in run
2023-09-25T01:02:24.1584229Z     res = subprocess.run(
2023-09-25T01:02:24.1584450Z           ^^^^^^^^^^^^^^^
2023-09-25T01:02:24.1584810Z   File "C:\hostedtoolcache\windows\Python\3.11.5\x64\Lib\subprocess.py", line 550, in run
2023-09-25T01:02:24.3704850Z     stdout, stderr = process.communicate(input, timeout=timeout)
2023-09-25T01:02:24.3708139Z                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-09-25T01:02:24.3709490Z   File "C:\hostedtoolcache\windows\Python\3.11.5\x64\Lib\subprocess.py", line 1209, in communicate
2023-09-25T01:02:24.7013136Z     stdout, stderr = self._communicate(input, endtime, timeout)
2023-09-25T01:02:24.7017840Z                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-09-25T01:02:24.7018809Z   File "C:\hostedtoolcache\windows\Python\3.11.5\x64\Lib\subprocess.py", line 1628, in _communicate
2023-09-25T01:02:24.7019565Z     raise TimeoutExpired(self.args, orig_timeout)
2023-09-25T01:02:24.7021415Z subprocess.TimeoutExpired: Command '['hg', 'root']' timed out after 20 seconds
2023-09-25T01:02:25.0871519Z 
2023-09-25T01:02:25.0876037Z ERROR Backend subprocess exited when trying to invoke build_wheel
2023-09-25T01:02:25.1138859Z build: exit 1 (125.58 seconds) D:\a\procman\procman> python -m build . pid=2308
2023-09-25T01:02:25.4099065Z ##[endgroup]
2023-09-25T01:02:25.4180425Z build: FAIL ✖ in 2 minutes 19.61 seconds

The above error is sporadic and only happens on Windows in Github CI. If I go re-run the failed job in the Github GUI it will almost certainly succeed. The above failed job is here: https://github.com/sarnold/procman/actions/runs/6293550384/job/17084214891?pr=3

I don’t have an answer but hopefully this adds another piece to the picture.