Answers.Body: <p>It looks like the documentation is wrong. At least, I don't see those options mentioned anywhere in <a href="https://github.com/schrodinger/pymol-open-source/blob/03d7a7fcf0bd95cd93d710a1268dbace2ed77765/setup.py" rel="nofollow noreferrer"><code>setup.py</code></a> and after <code>git clone https://github.com/schrodinger/pymol-open-source</code>, there are no hits for <code>help-distutils</code> anywhere except from the <code>INSTALL</code> file itself:</p>
  <pre><code>$ grep -R help-distutils pymol-open-source/
  pymol-open-source/INSTALL:    python setup.py --help-distutils
  pymol-open-source/INSTALL:    python setup.py --help-distutils install
  </code></pre>
  <p>The option used to be there, in the previous release. If you look at the <code>setup.py</code> from version 2.5.0 (<a href="https://github.com/schrodinger/pymol-open-source/blob/v2.5.0/setup.py" rel="nofollow noreferrer">https://github.com/schrodinger/pymol-open-source/blob/v2.5.0/setup.py</a>), you can see the <code>--help-distutils</code> option was there:</p>
  <pre><code>    parser.add_argument('--help-distutils', action=&quot;store_true&quot;,
              help=&quot;show help for distutils options and exit&quot;)
  </code></pre>
  <p>So it is simply a bug: they have changed the code but forgot to update the documentation. I suggest you report it to the developers so they can fix it.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-07-15T12:38:45.117Z
Answers.Text: mmhhh wondering why 'setup.py --help-commands' works, its not in argparser option too but works
Answers.UserDisplayName: pippo1980
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-07-15T13:30:47.467Z
Answers.Text: @pippo1980 presumably that's part of one of the libraries loaded by the tool. Perhaps `setuptools`, but this (delving deep into the code of some program) really is beyond the scope of the site. You can try asking the developers instead.
Answers.UserDisplayName: terdon
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-07-15T14:10:19.257Z
Answers.Text: yep, was just trying to make my mind clear,  setup.py 2.5 is for "This script only applies if you are performing a Python Distutils-based installation of PyMOL"; while master : "This script only applies if you are performing a Python setuptools-based installation of PyMOL". I believe distutils was deprecated in 2021 https://peps.python.org/pep-0632/. Sorry for clogging the comments, it is  for self reference. Guess options, sys.argv[1:] = parser.parse_known_args(namespace=options) is what does the trick ... but not an expert in sys.argv
Answers.UserDisplayName: pippo1980
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-07-14T19:20:39.477Z
Answers.LastActivityDate: 2024-07-14T19:20:39.477Z
Answers.UserDisplayName: terdon
Body: <p>Hi I am playing a little bit with <a href="https://github.com/schrodinger/pymol-open-source" rel="nofollow noreferrer"> schrodinger /
  pymol-open-source </a></p>
  <p>Trying to figure out how : <code>python setup.py install</code> works I found documentation in</p>
  <p><a href="https://github.com/schrodinger/pymol-open-source/blob/03d7a7fcf0bd95cd93d710a1268dbace2ed77765/INSTALL#L31" rel="nofollow noreferrer">    pymol-open-source/INSTALL</a> :</p>
  <pre><code> SETUP OPTIONS
  
      python setup.py --help
      python setup.py --help-distutils
      python setup.py --help-distutils install
  
      Special install options:
        --pymol-path=       installation directory for PyMOL data ($PYMOL_PATH)
        --no-launcher       skip installation of the pymol launcher
  </code></pre>
  <p>While <code>python setup.py --help</code> works</p>
  <p>python <code>setup.py --help-distutils</code> and <code>python setup.py --help-distutils install</code> dont.</p>
  <p>I can build/install it passing:</p>
  <p><code>python setup.py install --prefix=... --install-lib=... --install-scripts=...</code></p>
  <p>like description in <a href="https://pymolwiki.org/index.php/User:Tlinnet/Linux_Install" rel="nofollow noreferrer">User:Tlinnet/Linux Install</a></p>
  <p>bu why the help options don't work ?</p>
  <p>I am new to Python setuptools etc , please bear with me</p>
  <p><strong>ADDENDUM</strong></p>
  <p>pip install works too</p>
  <p>crossposted to <a href="https://stackoverflow.com/questions/78744476/opensource-pymol-compiling-install-issue">stackoverflowopensource-pymol-compiling-install-issue</a></p>
  
Tags: <python><pymol>
Title: opensource PyMOL compiling-install issue
ThreadText: # opensource PyMOL compiling-install issue
  
  (Asked by: username_0 on 2024-07-13)
  
  Hi I am playing a little bit with  [schrodinger /
  pymol-open-source](https://github.com/schrodinger/pymol-open-source)
  
  Trying to figure out how : `python setup.py install` works I found documentation in
  
  [pymol-open-source/INSTALL](https://github.com/schrodinger/pymol-open-source/blob/03d7a7fcf0bd95cd93d710a1268dbace2ed77765/INSTALL#L31) :
  
  ```
   SETUP OPTIONS
  
      python setup.py --help
      python setup.py --help-distutils
      python setup.py --help-distutils install
  
      Special install options:
        --pymol-path=       installation directory for PyMOL data ($PYMOL_PATH)
        --no-launcher       skip installation of the pymol launcher
  
  ```
  
  While `python setup.py --help` works
  
  python `setup.py --help-distutils` and `python setup.py --help-distutils install` dont.
  
  I can build/install it passing:
  
  `python setup.py install --prefix=... --install-lib=... --install-scripts=...`
  
  like description in [User:Tlinnet/Linux Install](https://pymolwiki.org/index.php/User:Tlinnet/Linux_Install)
  
  bu why the help options don't work ?
  
  I am new to Python setuptools etc , please bear with me
  
  **ADDENDUM**
  
  pip install works too
  
  crossposted to [stackoverflowopensource-pymol-compiling-install-issue](https://stackoverflow.com/questions/78744476/opensource-pymol-compiling-install-issue)
  
  **Tags:** python, pymol
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2024-07-14. Score: 2 | Accepted answer
  
  It looks like the documentation is wrong. At least, I don't see those options mentioned anywhere in [`setup.py`](https://github.com/schrodinger/pymol-open-source/blob/03d7a7fcf0bd95cd93d710a1268dbace2ed77765/setup.py) and after `git clone https://github.com/schrodinger/pymol-open-source`, there are no hits for `help-distutils` anywhere except from the `INSTALL` file itself:
  
  ```
  $ grep -R help-distutils pymol-open-source/
  pymol-open-source/INSTALL:    python setup.py --help-distutils
  pymol-open-source/INSTALL:    python setup.py --help-distutils install
  
  ```
  
  The option used to be there, in the previous release. If you look at the `setup.py` from version 2.5.0 (<https://github.com/schrodinger/pymol-open-source/blob/v2.5.0/setup.py>), you can see the `--help-distutils` option was there:
  
  ```
      parser.add_argument('--help-distutils', action="store_true",
              help="show help for distutils options and exit")
  
  ```
  
  So it is simply a bug: they have changed the code but forgot to update the documentation. I suggest you report it to the developers so they can fix it.
  
  > **Comments:**
  > **username_0**: mmhhh wondering why 'setup.py --help-commands' works, its not in argparser option too but works  
  > **username_1**: @username_0 presumably that's part of one of the libraries loaded by the tool. Perhaps `setuptools`, but this (delving deep into the code of some program) really is beyond the scope of the site. You can try asking the developers instead.  
  > **username_0**: yep, was just trying to make my mind clear,  setup.py 2.5 is for "This script only applies if you are performing a Python Distutils-based installation of PyMOL"; while master : "This script only applies if you are performing a Python setuptools-based installation of PyMOL". I believe distutils was deprecated in 2021 https://peps.python.org/pep-0632/. Sorry for clogging the comments, it is  for self reference. Guess options, sys.argv[1:] = parser.parse_known_args(namespace=options) is what does the trick ... but not an expert in sys.argv  
  
  ---
  
  