tox icon indicating copy to clipboard operation
tox copied to clipboard

add list of how to install multiple Python versions

Open niccokunzmann opened this issue 2 years ago • 3 comments

This links to tutorials about how to install different Python versions alongside eachother.

Contributes to https://github.com/tox-dev/tox/issues/2453#issuecomment-1192927363

Thanks for contributing a pull request!

If you are contributing for the first time or provide a trivial fix don't worry too much about the checklist - we will help you get started.

Contribution checklist:

(also see CONTRIBUTING.rst for details)

  • [X] wrote descriptive pull request text
  • [ ] added/updated test(s)
  • [x] updated/extended the documentation
  • [x] added relevant issue https://github.com/tox-dev/tox/issues/2453#issuecomment-1192927363 in message body
  • [x] added news fragment in changelog folder
    • fragment name: <issue number>.<type>.rst for example (588.bugfix.rst)
    • <type> is must be one of bugfix, feature, deprecation, breaking, doc, misc
    • if PR has no issue: consider creating one first or change it to the PR number after creating the PR
    • "sign" fragment with -- by :user:`<your username>`.
    • please, use full sentences with correct case and punctuation, for example:
      Fixed an issue with non-ascii contents in doctest text files -- by :user:`superuser`.
      
    • also see examples
  • [x] added yourself to CONTRIBUTORS (preserving alphabetical order)

niccokunzmann avatar Aug 07 '22 22:08 niccokunzmann

@gaborbernat thanks for taking your time and also for maintaining tox! I will not say that you have to maintain it - you can reject it - but I would like to clarify my reasoning:

  1. I develop Python for 17 years now and just now came across the need to install all required Python versions for testing with tox. That means: I am able to create this pull request and there is a need.
  2. In that situation: hundreds of projects use tox, should there be 100 such documentations or one?
  3. When I follow the install guide, I would usually (lazy/beginner) not install all Python versions for testing and just go with what I have. To successfully use tox, I should however install all Python versions required not just skip them. This change points into the right direction by putting the work on the community to guide and not the single developer.
  4. tox is incomplete to use without the versions of Python necessary.

I know, a tutorial list does not sound appealing. I think, it should be somewhere though. But where?

niccokunzmann avatar Aug 08 '22 07:08 niccokunzmann

Just to clarify, I'm not saying we shouldn't do this, I'm just not 100% on this so I'd like the opinions of other maintainers to swing the pendulum one way or another :+1:

gaborbernat avatar Aug 08 '22 07:08 gaborbernat

I don't think this has a place in tox's docs -- and it's trivial for someone to search the Internet to find how to install python

-1 for me

asottile avatar Aug 08 '22 12:08 asottile

As Anthony also shares my concerns I decided to not add this part of tox 3. That being said tox 4 documentation will be constructed more along the lines of the https://diataxis.fr/ where I can see this happen within a tutorial.

gaborbernat avatar Aug 21 '22 18:08 gaborbernat

Thanks for your contribution and sorry this did not get merged but we'll reuse it for tox 4 :-)

gaborbernat avatar Aug 21 '22 18:08 gaborbernat

Thanks and great! Ping me when it is happening!

niccokunzmann avatar Aug 21 '22 18:08 niccokunzmann

I like how we found a consensus on the issue. I bring one argument to the table: docker install script (available on https://get.docker.com/) manages multiple installations by ad-hoc infer procedure. Take a look at their functions. An alternative pathway is to do some tinkering and extract these OS-sniffer out of the script.

Luckily I managed to do it myself for fun. You may not trust my efforts, of course.

https://github.com/whosbash/shovel/blob/main/scripts/shell/os-utils.sh

brunolnetto avatar Jan 02 '23 16:01 brunolnetto