jupyter/qtconsole

Duplicate "jupyter-qtconsole" script/entry point breaks installing via `installer`

mgorny opened this issue · 3 comments

The jupyter-qtconsole executable is specified twice: once via scripts=..., and the other time via entry_points. This results in creating a wheel with two copies of jupyter-qtconsole inside and such a wheel cannot be installed via installer:

Traceback (most recent call last):                                                                                                     
  File "<stdin>", line 4, in <module>                                                                                                  
  File "/usr/lib/python3.8/site-packages/installer/__main__.py", line 80, in main
    installer.install(source, destination, {})
  File "/usr/lib/python3.8/site-packages/installer/_core.py", line 109, in install
    record = destination.write_file(
  File "/usr/lib/python3.8/site-packages/installer/destinations.py", line 203, in write_file
    return self.write_to_fs(
  File "/usr/lib/python3.8/site-packages/installer/destinations.py", line 167, in write_to_fs
    raise FileExistsError(message)
FileExistsError: File already exists: /tmp/portage/dev-python/qtconsole-5.3.0/work/qtconsole-5.3.0-python3_8/install/usr/bin/jupyter-qtconsole

Hey @mgorny, thanks for reporting. Please submit a pull request to fix this problem (it should be really simple, according to what you said).

What fix do you prefer? Removing the deprecated scripts= and using entry points only? Should I also remove the script from the repository or keep it, in case someone uses it locally?

Removing the deprecated scripts= and using entry points only?

I'm ok with this one. You can also remove the scripts directory placed at the root of this repo, along with its contents.