From: Günter M. <mi...@us...> - 2024-02-25 13:51:49
|
- **Comment**: Thank you for reporting a problem with Docutils. The problem seems caused by the installer `pipx` rather than Docutils: In the repository and source tarball, the [front end tools](https://docutils.sourceforge.io/docs/user/tools.html) start with the line ~~~ #!/usr/bin/env python3 ~~~ In the "wheel", the line is shortened to ~~~ #!python ~~~ The upcoming [release 0.21](https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-21-unpublished) will provide `rst2*` "console_scripts" *entry points* instead of installing the `rst2*.py` front end tools. This change will provide the `rst2*` cli commands ("apps") also under Windows and solve the *quick aside*. The [Generic Command Line Front End](https://docutils.sourceforge.io/docs/user/tools.html#generic-command-line-front-end) `docutils` already uses the new standard. You may try, e.g, docutils --help to see, if this works on your system. If yes, the "rst2*" commands should work with Docutils 0.21, too. **Attention** The current usage is <toolname> [options] [<source> [<destination>]] In a directory with files `a.rst` and `b.rst`, the command rst2html.py docs/* will happily **overwrite** `b.rst` with the output of converting `a.rst` **without warning**. This is a [known problem](https://sourceforge.net/p/docutils/feature-requests/36/) and [will change in future releases](https://docutils.sourceforge.io/RELEASE-NOTES.html#command-line-interface). --- **[bugs:#479] scripts install with broken shebang** **Status:** open **Created:** Mon Feb 19, 2024 07:25 AM UTC by Jason R. Coombs **Last Updated:** Mon Feb 19, 2024 07:25 AM UTC **Owner:** nobody The way docutils presents its executable scripts is broken on macOS. Today, I installed docutils using pipx. ``` @ pipx install docutils installed package docutils 0.20.1, installed using Python 3.12.2 These apps are now globally available - docutils - rst2html.py - rst2html4.py - rst2html5.py - rst2latex.py - rst2man.py - rst2odt.py - rst2odt_prepstyles.py - rst2pseudoxml.py - rst2s5.py - rst2xetex.py - rst2xml.py - rstpep2html.py done! ✨ 🌟 ✨ ``` Quick aside, it would be nice if these executables didn't have the .py extension. After installing, the scripts failed with this error: ``` @ rst2html.py docs/* xonsh: subprocess mode: command not found: '/Users/jaraco/Library/Application' ``` The problem is that pipx, by default, installs its data into the "Application Support" directory: ``` @ pipx environment | grep HOME PIPX_HOME= PIPX_HOME=/Users/jaraco/Library/Application Support/pipx ``` And when it does, the scripts get installed with an invalid shebang because [Unix doesn't support spaces in shebangs](https://blog.jaraco.com/unix-doesnt-support-spaces-in-filenames/): ``` @ head -n 1 $(which rst2html.py) #!/Users/jaraco/Library/Application Support/pipx/venvs/docutils/bin/python ``` --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |