facebookincubator / xar

executable archive format
Other
1.57k stars 55 forks source link

using default option to run bdist_xar caused error #30

Closed Hanaasagi closed 5 years ago

Hanaasagi commented 5 years ago

Env

Traceback

run python setup.py bdist_xar, and get following error message.

Traceback (most recent call last):
  File "setup.py", line 63, in <module>
    "blackd=blackd:patched_main [d]",
  File "/root/py37/lib/python3.7/site-packages/setuptools/__init__.py", line 143, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/root/py37/lib/python3.7/site-packages/xar/commands/bdist_xar.py", line 237, in run
    entry_points = self._parse_console_scripts()
  File "/root/py37/lib/python3.7/site-packages/xar/commands/bdist_xar.py", line 168, in _parse_console_scripts
    return {name: self.console_scripts[name]}
TypeError: 'NoneType' object is not subscriptable

After read commands/bdist_xar.py#L170

        if self.console_scripts is None:
            if len(all_console_scripts) == 1:
                return all_console_scripts
            if name in all_console_scripts:
                return {name: self.console_scripts[name]}
            raise DistutilsOptionError(
                "More than one entry point, set --console-scripts"
            )

I think self.console_scripts should be all_console_scripts.