4141 < li class ="__toc_level_3 "> < a href ="#installation_1 "> Installation</ a > </ li >
4242 < ul class ="__toc_list_3 ">
4343
44+ < li class ="__toc_level_4 "> < a href ="#windows "> Windows</ a > </ li >
45+ < ul class ="__toc_list_4 ">
46+
4447 </ ul >
45- < li class ="__toc_level_3 "> < a href ="#linux-prerequisites " > Linux Prerequisites </ a > </ li >
46- < ul class ="__toc_list_3 ">
48+ < li class ="__toc_level_4 "> < a href ="#macos " > MacOS </ a > </ li >
49+ < ul class ="__toc_list_4 ">
4750
48- < li class ="__toc_level_4 "> < a href ="#recommended "> Recommended</ a > </ li >
51+ </ ul >
52+ < li class ="__toc_level_4 "> < a href ="#linux "> Linux</ a > </ li >
4953 < ul class ="__toc_list_4 ">
5054
51- < li class ="__toc_level_5 "> < a href ="#pre-built-wheels " > Pre-built Wheels </ a > </ li >
55+ < li class ="__toc_level_5 "> < a href ="#pipx " > pipx </ a > </ li >
5256 < ul class ="__toc_list_5 ">
5357
5458 </ ul >
55- < li class ="__toc_level_5 "> < a href ="#pre-build-packages " > Pre-build Packages </ a > </ li >
59+ < li class ="__toc_level_5 "> < a href ="#venv " > venv </ a > </ li >
5660 < ul class ="__toc_list_5 ">
5761
5862 </ ul >
59- </ ul >
60- < li class ="__toc_level_4 "> < a href ="#manual "> Manual</ a > </ li >
61- < ul class ="__toc_list_4 ">
63+ < li class ="__toc_level_5 "> < a href ="#prerequisites "> Prerequisites</ a > </ li >
64+ < ul class ="__toc_list_5 ">
65+
66+ < li class ="__toc_level_6 "> < a href ="#distro-packages "> Distro Packages</ a > </ li >
67+ < ul class ="__toc_list_6 ">
6268
6369 </ ul >
70+ < li class ="__toc_level_6 "> < a href ="#pre-built-wheels "> Pre-built Wheels</ a > </ li >
71+ < ul class ="__toc_list_6 ">
72+
6473 </ ul >
65- < li class ="__toc_level_3 "> < a href ="#macos-prerequisites " > macOS Prerequisites </ a > </ li >
66- < ul class ="__toc_list_3 ">
74+ < li class ="__toc_level_6 "> < a href ="#manual-building " > Manual Building </ a > </ li >
75+ < ul class ="__toc_list_6 ">
6776
6877 </ ul >
6978 </ ul >
79+ </ ul >
80+ </ ul >
81+ </ ul >
7082 </ ul >
7183 </ div >
7284 </ div >
@@ -94,18 +106,10 @@ <h2 id="requirements">Requirements</h2>
94106</ tbody >
95107</ table >
96108< h2 id ="installation_1 "> Installation</ h2 >
97- < p > On systems like Windows, installation is pretty straight forward as wheels are provided for all packages in < code > pip</ code > . On
98- other systems, there may be some prerequisites. If on Linux, it is recommended to make sure you can install < code > wxpython</ code >
99- first. This is due to the fact that installation of that library may require special instructions and will cause the
100- installation of Rummage to fail if < code > wxpython</ code > fails due to not having the necessary prerequisites.</ p >
101- < div class ="admonition warning ">
102- < p class ="admonition-title "> Prerequisites</ p >
103- < ul >
104- < li > < a href ="#linux-prerequisites "> Linux</ a > </ li >
105- < li > < a href ="#macos-prerequisites "> macOS</ a > </ li >
106- </ ul >
107- </ div >
108- < p > Assuming prerequisites are satisfied, installing Rummage is easy.</ p >
109+ < p > For well supported platforms, Python wheels are usually available for Rummage and its dependencies. In most cases,
110+ installation can be done quickly and easily through < code > pip</ code > . Some platforms, like Linux, may require some additional
111+ hoops that you must jump through. Additionally, wxPython, the GUI library that Rummage depends on, may sometimes have
112+ support lagging for the latest Python version.</ p >
109113< p > Install:</ p >
110114< div class ="highlight "> < pre > < span > </ span > < code > < span class ="gp "> $ </ span > pip< span class ="w "> </ span > install< span class ="w "> </ span > rummage
111115</ code > </ pre > </ div >
@@ -115,25 +119,61 @@ <h2 id="installation_1">Installation</h2>
115119< p > Upgrade:</ p >
116120< div class ="highlight "> < pre > < span > </ span > < code > < span class ="gp "> $ </ span > pip< span class ="w "> </ span > install< span class ="w "> </ span > --upgrade< span class ="w "> </ span > rummage
117121</ code > </ pre > </ div >
118- < h2 id ="linux-prerequisites "> Linux Prerequisites</ h2 >
119- < p > Linux is by far the more involved system to install wxPython on, but it is getting easier.</ p >
120- < h3 id ="recommended "> Recommended</ h3 >
121- < h4 id ="pre-built-wheels "> Pre-built Wheels</ h4 >
122- < p > The wxPython project has started providing wheels for certain distros. While not all distros have wheels, this may
123- be an attractive solution if you run one of the distros that do have pre-built wheels. The one downside is that the
124- wheels are not available through on PyPI. More information on why and details on installation can be found here:
125- < a href ="https://www.wxpython.org/pages/downloads/ "> https://www.wxpython.org/pages/downloads/</ a > .</ p >
126- < p > Simplified instructions:</ p >
127- < ol >
128- < li >
129- < p > Find the folder for your distro over at < a href ="https://extras.wxpython.org/wxPython4/extras/linux/ "> https://extras.wxpython.org/wxPython4/extras/linux/</ a > .</ p >
130- </ li >
131- < li >
132- < p > Use < code > pip</ code > and the server's location like so.</ p >
122+ < h3 id ="windows "> Windows</ h3 >
123+ < p > On systems like Windows, installation is pretty straight forward as wheels are provided for all packages in < code > pip</ code > .
124+ Support for the latest Python version may not always be available as the development cycle for wxPython can take a bit
125+ to catch up.</ p >
126+ < p > Simply using < code > pip</ code > to install is sufficient.</ p >
127+ < div class ="highlight "> < pre > < span > </ span > < code > < span class ="gp "> $ </ span > pip< span class ="w "> </ span > install< span class ="w "> </ span > rummage
128+ </ code > </ pre > </ div >
129+ < h3 id ="macos "> MacOS</ h3 >
130+ < p > In recent years, wheels are usually available for wxPython on macOS. Support for the latest Python version may not
131+ always be available as the development cycle for wxPython can take a bit to catch up.</ p >
132+ < p > Usually, you can just use < code > pip</ code > to install:</ p >
133+ < div class ="highlight "> < pre > < span > </ span > < code > < span class ="gp "> $ </ span > pip< span class ="w "> </ span > install< span class ="w "> </ span > rummage
134+ </ code > </ pre > </ div >
135+ < h3 id ="linux "> Linux</ h3 >
136+ < p > Linux doesn't often have pre-built wheels for wxPython, so often, you must first ensure some prerequisites are in place
137+ before using < code > pip install</ code > (or other methods). Additionally, Linux, in recent years, has made managing libraries and
138+ applications in Python a bit more complex with its new restrictions. Despite all of this, Rummage is still supported,
139+ but may require slightly more complex installation.</ p >
140+ < h4 id ="pipx "> pipx</ h4 >
141+ < p > If installing Rummage on Linux, you may consider < code > pipx</ code > , especially if your distro has a new enough wxPython < a href ="#distro-packages "> distro
142+ packages</ a > . On Ubuntu, installation may look similar to the following:</ p >
143+ < div class ="highlight "> < pre > < span > </ span > < code > < span class ="gp "> $ </ span > sudo< span class ="w "> </ span > apt< span class ="w "> </ span > install< span class ="w "> </ span > python3-wgtk4.0< span class ="w "> </ span > python3-wxgtk-webview4.0
144+ < span class ="gp "> $ </ span > pipx< span class ="w "> </ span > install< span class ="w "> </ span > --system-site-packages< span class ="w "> </ span > rummage
145+ </ code > </ pre > </ div >
146+ < p > The < code > --system-site-packages</ code > flag is necessary as by default, < code > pipx</ code > will create a brand new virtual environment that
147+ does not have access to the globally available distro package.</ p >
148+ < h4 id ="venv "> venv</ h4 >
149+ < p > Another approach on Linux is to use the < code > venv</ code > package to install Rummage and its dependencies. If your distro has a new
150+ enough wxPython < a href ="#distro-packages "> distro package</ a > , you can install the wxPython and then create your virtual
151+ environment with the < code > --system-site-packages</ code > flag to ensure it has access to the installed package. On Ubuntu, it may
152+ look similar to:</ p >
153+ < div class ="highlight "> < pre > < span > </ span > < code > < span class ="gp "> $ </ span > sudo< span class ="w "> </ span > apt< span class ="w "> </ span > install< span class ="w "> </ span > python3-wgtk4.0< span class ="w "> </ span > python3-wxgtk-webview4.0
154+ < span class ="gp "> $ </ span > python3< span class ="w "> </ span > -m< span class ="w "> </ span > venv< span class ="w "> </ span > --system-site-packages< span class ="w "> </ span > ./venv/rummage
155+ < span class ="gp "> $ </ span > < span class ="nb "> source</ span > < span class ="w "> </ span > ./venv/rummage/bin/activate
156+ < span class ="gp "> $ </ span > < span class ="o "> (</ span > rummage< span class ="o "> )</ span > < span class ="w "> </ span > $< span class ="w "> </ span > pip< span class ="w "> </ span > install< span class ="w "> </ span > rummage
157+ </ code > </ pre > </ div >
158+ < p > If your distro does not have a proper wxPython package, you may have to install it from another source under your
159+ virtual environment.</ p >
160+ < h4 id ="prerequisites "> Prerequisites</ h4 >
161+ < p > The most important prerequisite to getting Rummage installed is < code > wxpython</ code > . It is always recommended to ensure it is
162+ installed before trying to install Rummage. If it is not, installation may try and download < code > wxpython</ code > and build it
163+ from scratch. This can take a long time and can fail.</ p >
164+ < h5 id ="distro-packages "> Distro Packages</ h5 >
165+ < p > Many Linux distros make wxPython available via their package manager. Assuming the package is not too old and is still
166+ supported by Rummage, this should automatically fulfill all the needed requirements. As an example, on Ubuntu, you must
167+ install the following:</ p >
168+ < div class ="highlight "> < pre > < span > </ span > < code > < span class ="gp "> $ </ span > sudo< span class ="w "> </ span > apt< span class ="w "> </ span > install< span class ="w "> </ span > python3-wgtk4.0< span class ="w "> </ span > python3-wxgtk-webview4.0
169+ </ code > </ pre > </ div >
170+ < h5 id ="pre-built-wheels "> Pre-built Wheels</ h5 >
171+ < p > Another option, if your distro packages are too old, is to see if there is a readily available pre-built wheel from the
172+ wxPython team. These are usually kept here: < a href ="https://extras.wxpython.org/wxPython4/extras/linux/ "> https://extras.wxpython.org/wxPython4/extras/linux/</ a > . It is possible through
173+ that even after this, there may be some Linux dependencies missing. The wheel can be installed in a virtual environment
174+ using pip:</ p >
133175< div class ="highlight "> < pre > < span > </ span > < code > < span class ="gp "> $ </ span > pip< span class ="w "> </ span > install< span class ="w "> </ span > -U< span class ="w "> </ span > -f< span class ="w "> </ span > https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04< span class ="w "> </ span > wxPython
134176</ code > </ pre > </ div >
135- </ li >
136- </ ol >
137177< p > While the wheel should install fine, when you actually run Rummage, you may see some libraries missing. A common one
138178on Ubuntu is < code > libSDL</ code > libraries. If you see a complaint about a library not being found or loaded, and you are on
139179Ubuntu, you can install < code > apt-find</ code > and search for the package containing the file, then you can install it.</ p >
@@ -144,11 +184,7 @@ <h4 id="pre-built-wheels">Pre-built Wheels</h4>
144184< span class ="go "> libsdl2-2.0-0: /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.10.0</ span >
145185< span class ="gp "> $ </ span > sudo< span class ="w "> </ span > apt< span class ="w "> </ span > install< span class ="w "> </ span > libsdl2-2.0-0
146186</ code > </ pre > </ div >
147- < h4 id ="pre-build-packages "> Pre-build Packages</ h4 >
148- < p > If you have a recent Linux distro that has a pre-built, installable wxPython package for your version of Python, then
149- it may make sense to just install the pre-built package via your Linux package manager. The version must meet the
150- version requirements of the Rummage package you are installing.</ p >
151- < h3 id ="manual "> Manual</ h3 >
187+ < h5 id ="manual-building "> Manual Building</ h5 >
152188< p > If you have installed a version of Python on your machine that does not have a pre-built wxPython package, or are using
153189a distro that does not have a pre-built wheel, you may have to build it.</ p >
154190< p > You can build the package by installing with < code > pip</ code > , but you may find that it won't build until you get all the
@@ -176,17 +212,9 @@ <h3 id="manual">Manual</h3>
176212< p > For a complete list of dependencies please check wxPython's official documentation on dependencies before installing.
177213Particularly under < a href ="https://github.com/wxWidgets/Phoenix/blob/master/README.rst#prerequisites "> this section</ a > . If they are out of date, please contact the wxPython team for better
178214instructions.</ p >
179- < h2 id ="macos-prerequisites "> macOS Prerequisites</ h2 >
180- < p > On macOS, Rummage uses either pure Python modules, or modules that provide wheels. What this means is that no C code
181- compilation is required to install Rummage; therefore, no prior steps are needed. But if you want to install < code > regex</ code > ,
182- there will be some C code compilation performed by < code > pip</ code > which will require Xcode to be installed.</ p >
183- < ol >
184- < li > Download Xcode from the Mac App Store.</ li >
185- < li > Navigate to Xcode > Preferences > Downloads tab.</ li >
186- < li > Click the button to install the Command Line Tools.</ li >
187- < li > Open Terminal (Applications/Terminal) and run < code > xcode-select --install</ code > . You will be prompted to install the Xcode
188- Command Line Tools.</ li >
189- </ ol >
215+ < p > other systems, there may be some prerequisites. If on Linux, it is recommended to make sure you can install < code > wxpython</ code >
216+ first. This is due to the fact that installation of that library may require special instructions and will cause the
217+ installation of Rummage to fail if < code > wxpython</ code > fails due to not having the necessary prerequisites.</ p >
190218 </ div >
191219
192220 <!-- Navigation -->
0 commit comments