[pygr-notify] [pygr commit] r221 - Edited wiki page through web user interface.

codesite-noreply at google.com codesite-noreply at google.com
Mon May 11 15:37:09 PDT 2009


Author: marecki
Date: Mon May 11 14:57:25 2009
New Revision: 221

Modified:
    wiki/BuildingAndTestingPygr.wiki

Log:
Edited wiki page through web user interface.

Modified: wiki/BuildingAndTestingPygr.wiki
==============================================================================
--- wiki/BuildingAndTestingPygr.wiki	(original)
+++ wiki/BuildingAndTestingPygr.wiki	Mon May 11 14:57:25 2009
@@ -97,7 +97,7 @@

  While the build procedure itself is the same under Windows as under other  
systems, the former demands more attention because of the multitude of  
possible build set-ups - at present, Python extensions can be build in any  
of the following ways:
   * under Cygwin
- * natively, using Microsoft Visual Studio
+ * natively, using Microsoft Visual C++
   * natively, using MinGW

  === Cygwin ===
@@ -110,34 +110,39 @@
  ==== Details ====

  Make sure the following packages are installed, along with whatever they  
pull in:
- * always: _gcc_, _python_\
- * for Git versions: _git_, _python-pyrex_;
- * for SQLite support: _libsqlite3_0_ (note: this is required even for  
Python 2.5 and newer - even then it isn't automatically pulled in by the  
_python_ package).
-Follow the standard building procedure.
+ * always: _gcc_, _python_;
+ * for Git versions: _python-pyrex_;
+ * for SQLite support: _libsqlite3_0_ (note: this is required even for  
Python 2.5 and newer - even then it isn't automatically pulled in by the  
_python_ package), _libsqlite3-devel_ (Python older than 2.5 only).
+Follow the standard building procedure. Build the _pysqlite2_ module by  
hand if you want SQLite support under Python versions older than 2.5.

  The problem with MySQL under Cygwin is that there are presently no Cygwin  
packages of MySQL. Rumour has it it is possible to link Python-MySQL  
against a native Windows installation of the MySQL client, then again since  
the procedure involves some serious cross-platform voodoo it is generally  
easier to build the MySQL client from sources. While doing this, keep the  
following in mind:
   * make sure you pass _--without-server_ (or similar, different versions  
used different options) to _configure_ - building the server is not  
necessary and usually fails anyway;
   * depending on the version of MySQL and/or Cygwin packages, the compiler  
may complain about missing header files not present anywhere in the Cygwin  
repository. For example, MySQL-5.1.33 built on an up-to-date Cygwin  
installation in April 2009 couldn't find _sys/ttydefaults.h_. In many cases  
this can be worked around by locating such files on any relatively modern  
Linux box and copying them into the MySQL source tree.


-=== Microsoft Visual Studio ===
+=== Microsoft Visual C++ ===

-Since all official Python distributions so far have been built using  
different versions of Visual Studio, it is the de-facto standard way - and,  
for now anyway, the *only* stable way in case of 64-bit builds - of  
building Python extensions for this operating system. That said, there are  
a few things to keep in mind regarding this approach:
+Since all official Python distributions so far have been built using  
different versions of Visual C++, it is the de-facto standard way - and,  
for now anyway, the *only* stable way in case of 64-bit builds - of  
building Python extensions for this operating system. That said, there is  
an important issue to keep in mind regarding this approach: due to  
limitations of Visual C++, extensions must be built with *exactly the same*  
version of the compiler as your Python distribution! In case of official  
distributions from Python.org, these are:
+  * 2.3 - 6
+  * 2.4/2.5 - 2003
+  * 2.6 - 2008
+The fact old versions of Microsoft software may be difficult and/or  
expensive to obtain aside, this makes it more-or-less impossible to perform  
builds for different Python version under a single instance of the  
operating system.

-TBC (remember to mention VCT)
+The easiest way of obtaining Visual C++ is to find (download from  
microsoft.com if it's the latest edition, elsewhere - e.g. on CDs attached  
to programming books at a library - if not) and install Microsoft Visual  
Studio Express Edition - it's free and takes up _much_ less disc space than  
the full-blown edition. Unfortunately the earliest Express-Edition version  
of Visual Studio was 2005, meaning this option is not viable for any  
official Python builds older than 2.6. Note that in case of VS 2003 there  
is an alternative to spending time and money on hunting down a copy - in  
2004 Microsoft made available free of charge _Visual C++ Toolkit 2003_, a  
full version of Visual C++ 2003 optimizing compiler. This will give you no  
GUI or anything fancy, just the compiler, but it is enough to build Pygr.  
The Toolkit is no longer available on microsoft.com but can quite easily be  
found elsewhere on the Web. Once you've got a copy, follow  
[http://www.vrplumber.com/programming/mstoolkit/ these instructions] to set  
everything up.


- # Natively, with the Microsoft Visual C++ compiler
-  * *Pros*: binary packages built this way should work without problems  
with any official Python release out there (but see below)
-  * *Cons*: non-free tools may be needed, different Python versions need  
different compiler versions, demanding resource-wise, possible licensing  
issues
- # Natively, with the MinGW compiler
-  * *Pros*: only free tools needed, can be used to build for any Python  
version
-  * *Cons*: doesn't quite work with Pygr yet (see below)!
+==== Details ====
+
+Building Pygr with Visual C++ should work out of the box as long as all of  
its dependencies have been met.
+
+You may need an appropriate Windows installation disc when installing  
Visual Studio, as some versions (confirmed with VS2003 Professional)  
require the IIS server and its FrontPage extensions, both of them standard  
but optional (and not recommended for keeping around unless absolutely  
needed) Windows components, to be present before installation can even  
begin. Yes, even if you are about NOT to choose anything but C++-related  
bits in the installer! Fortunately they can be safely removed after  
installation.
+
+If installing an older version of Visual Studio, don't bother telling it  
to look for updates as the final step of installation - it will likely not  
find them, even if they're still on microsoft.com. Just finish  
installation, then download and run update installers (_e.g._ Visual Studio  
2003 Service Pack 1) by hand. At this point it should be safe to click the  
Exit button without rolling back the installation.

-Below you will find notes pertaining to each of these options.

-(Note to self: complete this --MS)
+=== MinGW ===

-Cygwin: usual POSIX build env; for MySQL support, build client from sources
+TBA

-Native Win32: appropriate version of Visual Studio (2.3 - 6, 2.4/2.5 -  
2003, 2.6 - 2008), ...
\ No newline at end of file
+ * *Pros*: only free tools needed, can be used to build for any Python  
version
+ * *Cons*: doesn't quite work with Pygr yet (see below)!
\ No newline at end of file



More information about the pygr-notify mailing list