Skip to content

Commit b843299

Browse files
authored
Updated instructions on the bootstrap webpage (#765)
Added instructions for the following: - Using the alternate installer to install MSYS2 on older versions of Windows - Downgrading default Python back to v3.12 - Installing libraries needed for Pillow
1 parent 85477f5 commit b843299

1 file changed

Lines changed: 115 additions & 12 deletions

File tree

src/murfey/templates/bootstrap.html

Lines changed: 115 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,21 @@ <h3>A. Installing MSYS2</h3>
2020
C:\msys64 </span
2121
>.
2222
</p>
23+
<p>
24+
Some versions of Windows are too old to support the default MSYS2 installer.
25+
In such cases, download this alternative
26+
<a href="{{ proxy_path }}/msys2/repo/distrib/msys2-x86_64-latest.sfx.exe"
27+
>executable</a
28+
>
29+
and run it. It will unpack the
30+
<span
31+
style="font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace"
32+
>msys64</span
33+
>
34+
folder into your Downloads folder. Copy this folder to the default MSYS2
35+
location, and run the UCRT64 executable within it to proceed with the
36+
installation as normal.
37+
</p>
2338
<h3>B. Setting Up MSYS2</h3>
2439
<h4>i. Setting Up the MSYS2 Package Manager (If Network-Restricted)</h4>
2540
<p>
@@ -39,7 +54,7 @@ <h4>i. Setting Up the MSYS2 Package Manager (If Network-Restricted)</h4>
3954
<pre
4055
style="font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace"
4156
>
42-
C:\msys64\etc\pacman.d
57+
C:\msys64\etc\pacman.d
4358
</pre>
4459
<h4>ii. Installing Dependencies</h4>
4560
<p>
@@ -51,11 +66,11 @@ <h4>ii. Installing Dependencies</h4>
5166
<pre
5267
style="font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace"
5368
>
54-
$ pacman -Syu
55-
$ pacman -S msys2-runtime
56-
$ pacman -S rsync
57-
$ pacman -S mingw-w64-ucrt-x86_64-python-pip
58-
$ pacman -S mingw-w64-ucrt-x86_64-rust
69+
$ pacman -Syu
70+
$ pacman -S msys2-runtime
71+
$ pacman -S rsync
72+
$ pacman -S mingw-w64-ucrt-x86_64-python-pip
73+
$ pacman -S mingw-w64-ucrt-x86_64-rust
5974
</pre>
6075
<p>
6176
Other utility packages such as
@@ -74,6 +89,60 @@ <h4>ii. Installing Dependencies</h4>
7489
>pacman -Ss &lt;package-name&gt;</span
7590
>
7691
</p>
92+
<h4>Downgrading Python packages</h4>
93+
<p>
94+
MSYS2 current installs Python 3.14 by default, which we have not rigorously
95+
tested Murfey with. For now, we downgrade to Python 3.12.12, which is known to
96+
work with Murfey. To do so, download the following packages:
97+
</p>
98+
<ul>
99+
<li>
100+
<a
101+
href="{{ proxy_path }}/msys2/repo/mingw/ucrt64/mingw-w64-ucrt-x86_64-python-3.12.12-1-any.pkg.tar.zst"
102+
style="
103+
font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace;
104+
"
105+
>mingw-w64-ucrt-x86_64-python-3.12.12-1-any.pkg.tar.zst</a
106+
>
107+
</li>
108+
<li>
109+
<a
110+
href="{{ proxy_path }}/msys2/repo/mingw/ucrt64/mingw-w64-ucrt-x86_64-python-distlib-0.4.0-2-any.pkg.tar.zst"
111+
style="
112+
font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace;
113+
"
114+
>mingw-w64-ucrt-x86_64-python-distlib-0.4.0-2-any.pkg.tar.zst</a
115+
>
116+
</li>
117+
<li>
118+
<a
119+
href="{{ proxy_path }}/msys2/repo/mingw/ucrt64/mingw-w64-ucrt-x86_64-python-pip-25.3-2-any.pkg.tar.zst"
120+
style="
121+
font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace;
122+
"
123+
>mingw-w64-ucrt-x86_64-python-pip-25.3-2-any.pkg.tar.zst</a
124+
>
125+
</li>
126+
<li>
127+
<a
128+
href="{{ proxy_path }}/msys2/repo/mingw/ucrt64/mingw-w64-ucrt-x86_64-python-setuptools-80.9.0-2-any.pkg.tar.zst"
129+
style="
130+
font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace;
131+
"
132+
>mingw-w64-ucrt-x86_64-python-setuptools-80.9.0-2-any.pkg.tar.zst</a
133+
>
134+
</li>
135+
</ul>
136+
<p>
137+
These files will be placed in your account's Downloads folder by default, and
138+
can then be installed using the following command:
139+
</p>
140+
<pre
141+
style="font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace"
142+
>
143+
$ pacman -U /c/Users/&lt;username&gt;/Downloads/&lt;package-name&gt;</pre
144+
>
145+
77146
<h4>iii. Configuring the Rust Package Manager (If Network-Restricted)</h4>
78147
<p>
79148
Many newer Python packages now have dependencies written in Rust that allow
@@ -119,13 +188,13 @@ <h4>iii. Configuring the Rust Package Manager (If Network-Restricted)</h4>
119188
<pre
120189
style="font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace"
121190
>
122-
%USERPROFILE%\.cargo
191+
%USERPROFILE%\.cargo
123192
</pre>
124193
<p>For a user named Murfey, for example, this would take the form:</p>
125194
<pre
126195
style="font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace"
127196
>
128-
C:\Users\Murfey\.cargo
197+
C:\Users\Murfey\.cargo
129198
</pre>
130199
<p>
131200
With this file configured,
@@ -154,9 +223,9 @@ <h3>A. (Optional) Setting Up a Virtual Environment</h3>
154223
<pre
155224
style="font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace"
156225
>
157-
$ pip install virtualenv --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi --trusted-host {{ netloc }}
158-
$ virtualenv your-env-name # Create the virtual environment
159-
$ source your-env-name/bin/activate # Activate the virtual environment
226+
$ pip install virtualenv --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi --trusted-host {{ netloc }}
227+
$ virtualenv your-env-name # Create the virtual environment
228+
$ source your-env-name/bin/activate # Activate the virtual environment
160229
</pre>
161230
<h3>B. Installing Murfey</h3>
162231
<p>
@@ -166,6 +235,40 @@ <h3>B. Installing Murfey</h3>
166235
<pre
167236
style="font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace"
168237
>
169-
$ pip install murfey --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi/index --trusted-host {{ netloc }}
238+
$ pip install murfey --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi/index --trusted-host {{ netloc }}
170239
</pre>
240+
241+
<h4>Installing Pillow</h4>
242+
<p>
243+
Python's Pillow package will be needed for certain instruments. This will
244+
require the installation of additional image libraries in
245+
<span
246+
style="font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace"
247+
>pacman</span
248+
>:
249+
</p>
250+
<pre
251+
style="font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace"
252+
>
253+
$ pacman -S \
254+
mingw-w64-ucrt-x86_64-freetype \
255+
mingw-w64-ucrt-x86_64-giflib \
256+
mingw-w64-ucrt-x86_64-lcms2 \
257+
mingw-w64-ucrt-x86_64-libjpeg-turbo \
258+
mingw-w64-ucrt-x86_64-libpng \
259+
mingw-w64-ucrt-x86_64-libtiff \
260+
mingw-w64-ucrt-x86_64-libwebp \
261+
mingw-w64-ucrt-x86_64-openjpeg2 \
262+
mingw-w64-ucrt-x86_64-zlib
263+
</pre>
264+
<p>
265+
Once the necessary libraries have been installed, Pillow can be installed by
266+
running the following command:
267+
</p>
268+
<pre
269+
style="font-family: Consolas, Monaco, &quot;Lucida Console&quot;, monospace"
270+
>
271+
$ ZLIB_ROOT="/ucrt64" pip install pillow --index-url {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/pypi/index --trusted-host {{ netloc }}
272+
</pre>
273+
171274
{% endblock %}

0 commit comments

Comments
 (0)