Skip to content

Commit 254d304

Browse files
Updated Windows Dev instructions
1 parent a8a5a4c commit 254d304

File tree

1 file changed

+20
-47
lines changed

1 file changed

+20
-47
lines changed

doc_src/development.rst

Lines changed: 20 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ Here is how to get a clean development setup under macOS.
4747
python3 setup.py pip_install
4848
python3 -m plink.app # Link editor appears!
4949

50-
This last command runs the script "plink/app.py"; the real code for
51-
the link editor is in "plink/__init__.py".
50+
This last command runs the script ``plink/app.py``; the real code for
51+
the link editor is in ``plink/__init__.py``.
5252

5353
- Build and install Spherogram::
5454

@@ -74,17 +74,13 @@ Here is how to get a clean development setup under macOS.
7474

7575
Some major parts of the SnapPy codebase are:
7676

77-
- "SnapPy.pyx", "SnapPycore.pxi", "SnapPy.pxi": The Cython interface
77+
- ``SnapPy.pyx``, ``SnapPycore.pxi``, ``SnapPy.pxi``: The Cython interface
7878
to the SnapPea kernel
79-
- "opengl/CyOpenGL*.pyx": The Cython interface to OpenGL*
80-
- "snappy/app.py": The core GUI code
81-
- "snappy/polyviewer.py": The GUI code for Dirichlet domains
82-
- "snappy/horoviewer.py": The GUI code for horoball pictures
83-
- "snappy/database.py": Interacts with the sqlite3 manifold database
84-
85-
In addition, Jeff's old prototype for a Tk-based UI can be found in
86-
"misc/JeffsOldUI/SnapPeaGUI.py"; just run Python on this file to try it
87-
out, after installing `PythonMegaWidgets <http://pmw.sf.net>`_.
79+
- ``opengl/CyOpenGL*.pyx``: The Cython interface to OpenGL*
80+
- ``snappy/app.py``: The core GUI code
81+
- ``snappy/polyviewer.py``: The GUI code for Dirichlet domains
82+
- ``snappy/horoviewer.py``: The GUI code for horoball pictures
83+
- ``snappy/database.py``: Interacts with the sqlite3 manifold database
8884

8985

9086
Windows
@@ -95,12 +91,13 @@ setting up a development environment using the (free) MSVC
9591
compiler. To build the CyPari subcomponent, which few will want or
9692
need to do, one must install additional tools.
9793

98-
- Install `Python 3.7 <https://www.python.org/downloads/windows/>`_,
99-
specifically the 32 bit version (Windows x86 not Windows x86-64).
94+
- Install `Python 3.13.1
95+
<https://www.python.org/downloads/windows/>`_, specifically the
96+
default 64-bit version (the file name will end in ``amd64.exe``).
10097
These instructions assume it has been installed in the directory
101-
``C:\Python37`` which is not the default.
98+
``C:\Python313`` which is not the default.
10299

103-
- With Python 3.7.4, you need the MSVC command line tools. You can
100+
- With Python 3.13.1, you need the MSVC command line tools. You can
104101
get them by using Microsoft's free `Build Tools for Visual Studio 2019
105102
<https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16>`_
106103
installer and selecting the "C++ command line tools" and installing
@@ -112,14 +109,10 @@ need to do, one must install additional tools.
112109
`Inno Setup <http://www.jrsoftware.org/isdl.php>`_, specifically the
113110
unicode version; tested with version 5.5.9.
114111

115-
- Install whichever version of `MSYS2 <http://msys2.github.io>`_ is
116-
appropriate for your version of Windows. Most commonly, you will have
117-
a 64-bit Windows and hence want the "x86_64" installer; for
118-
concreteness the rest of these instructions assume this. (Technical
119-
note: even if you want to build 32-bit binaries, if your Windows is
120-
64-bit you want the x86_64 installer.) Follow the instructions on
121-
the webpage to update everything to the very latest MSYS2
122-
(``pacman -Sy pacman; pacman -Syu; pacman -Su`` etc.).
112+
- Install `MSYS2 <http://msys2.github.io>`_ is appropriate for your
113+
version Windows. Follow the instructions on the webpage to update
114+
everything to the very latest MSYS2 (``pacman -Sy pacman; pacman
115+
-Syu; pacman -Su`` etc.).
123116

124117
- Make a shortcut to ``c:\msys64\msys2.exe`` as you will be using it all
125118
the time; alternatively, pin ``mys2.exe`` to your taskbar.
@@ -137,7 +130,7 @@ need to do, one must install additional tools.
137130
as well as work around some stupid bug, by making the end of your
138131
"~/.bash_profile" file to read::
139132

140-
PATH=/c/Python37:/c/Python37/Scripts:$PATH
133+
PATH=/c/Python313:/c/Python313/Scripts:$PATH
141134
PATH=$PATH:'/c/Program Files (x86)/Inno Setup 5'
142135
export PATH
143136
alias emacs="/mingw64/bin/emacs"
@@ -152,7 +145,7 @@ need to do, one must install additional tools.
152145

153146
python --version
154147

155-
You should see something like ``Python 3.7.4``.
148+
You should see something like ``Python 3.13.1``.
156149

157150
- Use pip to install some basic tools::
158151
@@ -212,33 +205,13 @@ need to do, one must install additional tools.
212205
mklink /D Downloads "C:\Users\Nathan Dunfield\Downloads"
213206

214207

215-
- To build CyPari, first install the 32-bit gcc compiler::
216-
217-
pacman -S mingw-w64-i686-gcc
218-
219-
Then open a *MinGW32 terminal window*, which is **different** than a
220-
MSYS2 terminal, and can be started via `c:\msys64\mingw32.exe`.
221-
This will put the 32-bit gcc in your path and set the correct
222-
"uname". Now do::
223-
224-
git clone https://github.com/3-manifolds/CyPari.git
225-
cd CyPari
226-
sh build_pari.sh
227-
python setup.py build --compiler=mingw32
228-
python setup.py install
229-
python -m cypari.test # About 30 tests will fail.
230-
231-
Warning: CyPari will not build if there are spaces in the path to
232-
the CyPari directory.
233-
234-
235208
Linux
236209
-----
237210

238211
Things you'll need:
239212

240213
- Python 3 with Tkinter: You'll need to have `Python
241-
<http://python.org>`_ (version 3.6 or newer) and `Tk
214+
<http://python.org>`_ (version 3.9 or newer) and `Tk
242215
<http://tcl.tk>`_ (at least version 8.5) with `Tkinter
243216
<http://wiki.python.org/moin/TkInter>`_ to connect them, including
244217
the header files. For instance, on Debian or Ubuntu, install the

0 commit comments

Comments
 (0)