Skip to content

Commit 3154dd5

Browse files
committed
Revise README.rst to mention Git branches for install.
1 parent 497ab20 commit 3154dd5

1 file changed

Lines changed: 34 additions & 8 deletions

File tree

README.rst

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,14 @@ The way it does this, though, is by segregating consecutive Python versions into
8686
git branches:
8787

8888
master
89-
Python 3.11 and up
89+
Python 3.11 and up (uses poetry install, and newer Python idioms)
9090
python-3.6-to-3.10
91-
Python 3.6 to python-3.10 (uses type annotations)
91+
Python 3.6 through 3.10 (uses newer f-strings, and more modern, and more modern Type annotations)
9292
python-3.3-to-3.5
9393
Python 3.3 through 3.5 (Generic Python 3)
94-
python-2.4
94+
python-3.3-to-3.5
95+
Python 3.3 through 3.5 (Generic Python 3)
96+
python-2.4-to-2.7
9597
Python 2.4 through 2.7 (Generic Python 2)
9698

9799
PyPy 3-2.4 and later works as well.
@@ -103,18 +105,42 @@ versions.
103105
Installation
104106
------------
105107

106-
You can install from PyPI using the name ``uncompyle6``::
108+
*For recent Python releases (Python 3.11+)*, you can install from PyPI using the name ``uncompyle6``::
107109

108110
pip install uncompyle6
109111

112+
*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-uncompyle6/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.
110113

111-
To install from source code, this project uses setup.py, so it follows the standard Python routine::
114+
If the Python version you are running uncompyle6 is between Python 2.4 through 2.7, use a tarball called uncompyle6_24-*x.y.z*.tar.gz.
112115

113-
$ pip install -e . # set up to run from source tree
116+
If the Python version you are running uncompyle6 is between Python 3.0 through 3.2, use a tarball called uncompyle6_30-*x.y.z*.tar.gz.
117+
118+
If the Python version you are running uncompyle6 is between Python 3.3 through 3.5, use a tarball called uncompyle6_33-*x.y.z*.tar.gz.
119+
120+
If the Python version you are running uncompyle6 is between Python 3.6 through 3.11, use a tarball called uncompyle6_36-*x.y.z*.tar.gz.
121+
122+
If the Python version you are running uncompyle6 is 3.11 or later, use a called uncompyle6-*x.y.z*.tar.gz.
123+
124+
You can also try eggs or wheel that have the same version designation, e.g., uncompyle6-*x.y.z*-py39-non-any.whl for a Python 3.9 installation. *However, note that *the version without the designation, means Python 3.11 or greater*.
125+
126+
Similarly a tarball with without `_`*xx* works only from Python 3.11 or greaters
114127

115-
or::
116128

117-
$ python setup.py install # may need sudo
129+
Rationale for using Git Branches
130+
++++++++++++++++++++++++++++++++
131+
132+
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".
133+
134+
Installation from source text
135+
++++++++++++++++++++++++++++++
136+
137+
To install from source code make sure you have the right github
138+
branch. See the Requirements section for the Git branch names.
139+
140+
After setting the right branch:
141+
142+
$ pip install -e . # set up to run from source tree
143+
118144

119145
A GNU Makefile is also provided, so :code:`make install` (possibly as root or
120146
sudo) will do the steps above.

0 commit comments

Comments
 (0)