Skip to content

Commit 38085d6

Browse files
author
rocky
committed
Note compiling and installing or older Pythons
1 parent 96e1b0d commit 38085d6

File tree

1 file changed

+37
-8
lines changed

1 file changed

+37
-8
lines changed

README.rst

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,32 @@ When installing, except for the most recent versions of Python, use
5454
the Python egg or wheel that matches that version, e.g., ``xdis-6.0.2-py3.3.egg``, ``xdis-6.0.2-py33-none-any.whl``.
5555
Of course, for versions that predate wheels, like Python 2.6, you will have to use eggs.
5656

57-
To install older versions from source in git, use the branch
58-
``python-2.4-to-2.7`` for Python versions from 2.4 to 2.7,
59-
``python-3.1-to-3.2`` for Python versions from 3.1 to 3.2,
60-
``python-3.3-to-3.5`` for Python versions from 3.3 to 3.5. The master
61-
``python-3.6-to-3.10`` for Python versions from 3.6 to 3.10. The master
62-
branch handles Python 3.11 and later.
63-
6457
Installation
6558
------------
6659

60+
*For recent Python releases (Python 3.11+)*, you can install from PyPI using the name ``xdis``::
61+
62+
pip install xdis
63+
64+
*For Python releases before 3.11*, do not install using PyPI, but instead install using a file in the [GitHub Releases section](https://github.com/rocky/python-xdis/releases). Older Python used to use `easy_install <https://python101.pythonlibrary.org/chapter29_pip.html#using-easy-install>`_. But this is no longer supported in PyPi.
65+
66+
If the Python version you are running xdis is between Python 2.4 through 2.7, use a tarball called xdis_24-*x.y.z*.tar.gz.
67+
68+
If the Python version you are running xdis is between Python 3.0 through 3.2, use a tarball called xdis_30-*x.y.z*.tar.gz.
69+
70+
If the Python version you are running xdis is between Python 3.3 through 3.5, use a tarball called xdis_33-*x.y.z*.tar.gz.
71+
72+
If the Python version you are running xdis is between Python 3.6 through 3.11, use a tarball called xdis_36-*x.y.z*.tar.gz.
73+
74+
If the Python version you are running xdis is 3.11 or later, use a called xdis-*x.y.z*.tar.gz.
75+
76+
You can also try eggs or wheels that have the same version designation, e.g., xdis-*x.y.z*-py39-none-any.whl for a Python 3.9 installation. *However, note that *the version without the designation means Python 3.11 or greater*.
77+
78+
Similarly a tarball with without `_`*xx* works only from Python 3.11 or greater.
79+
80+
Installation from source text
81+
++++++++++++++++++++++++++++++
82+
6783
The standard Python routine:
6884

6985
::
@@ -72,6 +88,19 @@ The standard Python routine:
7288

7389
A GNU makefile is also provided so ``make install`` (possibly as root or sudo) will do the steps above.
7490

91+
To install older versions from source in git, use the branch
92+
``python-2.4-to-2.7`` for Python versions from 2.4 to 2.7,
93+
``python-3.1-to-3.2`` for Python versions from 3.1 to 3.2,
94+
``python-3.3-to-3.5`` for Python versions from 3.3 to 3.5. The master
95+
``python-3.6-to-3.10`` for Python versions from 3.6 to 3.10. The master
96+
branch handles Python 3.11 and later.
97+
98+
Rationale for using Git Branches
99+
++++++++++++++++++++++++++++++++
100+
101+
It is currently impossible (if not impractical) to have one Python source code of this complexity and with this many features that can run both Python 2.7 and Python 3.13+. The languages have drifted so much, and Packing is vastly different. In fact, the packaging practice for Python 3.11+ is incompatible with Python 2.7 (and before back to Python 2.4), which favored "easy_install".
102+
103+
75104
Disassembler Example
76105
--------------------
77106

@@ -212,7 +241,7 @@ for usage help.
212241
As a drop-in replacement for dis
213242
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
214243

215-
`xdis` also provides some support as a drop-in replacement for the
244+
``xdis`` also provides some support as a drop-in replacement for the
216245
Python library `dis <https://docs.python.org/3/library/dis.html>`_
217246
module. This may be desirable when you want to use the improved API
218247
from Python 3.4 or later from an earlier Python version.

0 commit comments

Comments
 (0)