Tuesday, March 31, 2026

Python Distribution Error (TypeError: canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero')

 Last year I cut my teeth at creating a Python package; Dividere


Recently, building the package was encountering an error:

 

 

python3 setup.py sdist bdist_wheel
running sdist
running egg_info
creating dividere.egg-info
writing dividere.egg-info/PKG-INFO
writing dependency_links to dividere.egg-info/dependency_links.txt
writing requirements to dividere.egg-info/requires.txt
writing top-level names to dividere.egg-info/top_level.txt
writing manifest file 'dividere.egg-info/SOURCES.txt'
reading manifest file 'dividere.egg-info/SOURCES.txt'
adding license file 'LICENSE'
Traceback (most recent call last):
  File "/home/lipeltgm/dividere/setup.py", line 15, in 
    setup(
  File "/usr/local/lib/python3.10/dist-packages/setuptools/__init__.py", line 117, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 186, in setup
    return run_commands(dist)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 202, in run_commands
    dist.run_commands()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 983, in run_commands
    self.run_command(cmd)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 999, in run_command
    super().run_command(command)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 1002, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/command/sdist.py", line 59, in run
    self.run_command('egg_info')
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/cmd.py", line 339, in run_command
    self.distribution.run_command(command)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 999, in run_command
    super().run_command(command)
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 1002, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/command/egg_info.py", line 312, in run
    self.find_sources()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/command/egg_info.py", line 320, in find_sources
    mm.run()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/command/egg_info.py", line 548, in run
    self.prune_file_list()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/command/sdist.py", line 162, in prune_file_list
    super().prune_file_list()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/sdist.py", line 380, in prune_file_list
    base_dir = self.distribution.get_fullname()
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_core_metadata.py", line 272, in get_fullname
    return _distribution_fullname(self.get_name(), self.get_version())
  File "/usr/local/lib/python3.10/dist-packages/setuptools/_core_metadata.py", line 290, in _distribution_fullname
    canonicalize_version(version, strip_trailing_zero=False),
TypeError: canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'
make: *** [Makefile:26: buildPipPackage] Error 1

Apparently, there was an error introduced in a recent version of setuptools.  A work-around is to downgrade to an older version to temporarily resolve the issue.

 

~/dividere$ sudo pip3 install setuptools==70.0
 

 

 

 

 

No comments:

Post a Comment