From 659f3e8835379fb4d71c55a88049666e9ac95d9f Mon Sep 17 00:00:00 2001 From: gimick Date: Mon, 5 Jul 2010 22:15:45 +0100 Subject: [PATCH] walkthrough updated to fix numpy dotblas error : add fdl1.2 licence to walkthroughs --- .../MySqlPython1.2.2WalkthroughPython26.txt | 10 +- .../MySqlPython1.2.3WalkthroughPython26.txt | 16 ++- .../windows/py2exeWalkthroughPython26.txt | 97 ++++++++++++++----- pyfpdb/py2exe_setup.py | 2 - 4 files changed, 86 insertions(+), 39 deletions(-) diff --git a/packaging/windows/MySqlPython1.2.2WalkthroughPython26.txt b/packaging/windows/MySqlPython1.2.2WalkthroughPython26.txt index fa3a75d6..2a71b673 100644 --- a/packaging/windows/MySqlPython1.2.2WalkthroughPython26.txt +++ b/packaging/windows/MySqlPython1.2.2WalkthroughPython26.txt @@ -1,11 +1,9 @@ -Create MySqlPython windows installer for Python26 -created by Gimick on 29th June 2010 +Create MySqlPython version 1.2.2 windows installer for Python26 -The FPDB exe needs to build against the MySql-Python project. Unfortunately, for python 2.6 there is no official installer for windows, and none is ever likely to be provided. -Community builds are available, but to reduce third-party dependencies, we will build our own here. - -This walkthrough is derived from excellent installation instructions here ... http://www.bcspcsonline.com/wiki/index.php?title=MySQL-5.1.34_Python-2.6_Module_Build_Instructions +This walkthrough is derived from excellent installation instructions released under GNU Free Documentation License 1.2. The original work is here ... http://www.bcspcsonline.com/wiki/index.php?title=MySQL-5.1.34_Python-2.6_Module_Build_Instructions The Wiki author appears to be "Irondesk" +This version by Gimick on 29th June 2010 +Content is available under GNU Free Documentation License 1.2 Step 0 Get a fresh XP installation ---------------------------------- diff --git a/packaging/windows/MySqlPython1.2.3WalkthroughPython26.txt b/packaging/windows/MySqlPython1.2.3WalkthroughPython26.txt index 829aa12e..410fa4a8 100644 --- a/packaging/windows/MySqlPython1.2.3WalkthroughPython26.txt +++ b/packaging/windows/MySqlPython1.2.3WalkthroughPython26.txt @@ -1,12 +1,18 @@ -Create MySqlPython windows installer for Python26 -created by Gimick on 29th June 2010 +Create MySqlPython version 1.2.3 windows installer for Python26 + +This walkthrough is derived from excellent installation instructions released under GNU Free Documentation License 1.2. The original work is here ... http://www.bcspcsonline.com/wiki/index.php?title=MySQL-5.1.34_Python-2.6_Module_Build_Instructions The Wiki author appears to be "Irondesk" + +This version by Gimick on 29th June 2010 +Content is available under GNU Free Documentation License 1.2 + +Premamble +--------- + The FPDB exe needs to build against the MySql-Python project. Unfortunately, for python 2.6 there is no official installer for windows, and none is ever likely to be provided. + Community builds are available, but to reduce third-party dependencies, we will build our own here. -This walkthrough is derived from excellent installation instructions here ... http://www.bcspcsonline.com/wiki/index.php?title=MySQL-5.1.34_Python-2.6_Module_Build_Instructions - - Step 0 Get a fresh XP installation ---------------------------------- diff --git a/packaging/windows/py2exeWalkthroughPython26.txt b/packaging/windows/py2exeWalkthroughPython26.txt index 8e8870e2..3444be84 100644 --- a/packaging/windows/py2exeWalkthroughPython26.txt +++ b/packaging/windows/py2exeWalkthroughPython26.txt @@ -1,20 +1,27 @@ PY2EXE walkthrough for Python 2.6 & FPDB 0.20 -created by Gimick on 22nd June 2010 +created on 22nd June 2010 + +This walkthrough is derived from comments in the py2exe script made by Ray and SqlCoder +Additional information, formatting,updating to Python 2.6 and sequencing added by Gimick +Content is available under GNU Free Documentation License 1.2 + Step 0 Get a fresh XP installation ---------------------------------- -0.1/ Using XPhome 32bit +0.1/ Using XPhome or Pro 32bit -Step 1, Python install ----------------------- +0.2/ Ensure the CPU supports SSE2 instruction set or better. + + +Step 1, dependency install +-------------------------- 1.1/ install the following in sequence (accept all default options) there should be no errors ! Python 2.6.5 ... http://www.python.org/ftp/python/2.6.5/python-2.6.5.msi pywin 214 ... http://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/pywin32-214.win32-py2.6.exe/download -numpy 1.4.1 ... http://sourceforge.net/projects/numpy/files/NumPy/1.4.1/numpy-1.4.1-win32-superpack-python2.6.exe/download matplotlib 0.99.3 ... http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-0.99.3/matplotlib-0.99.3.win32-py2.6.exe/download pygtk 2.16.0 ... http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.16/pygtk-2.16.0.win32-py2.6.exe pycairo 1.8.6 ... http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/1.8/pycairo-1.8.6.win32-py2.6.exe @@ -65,21 +72,60 @@ dos>path ... system should respond with ... PATH=c:\GTK\bin;C:\WIN........ dos> gtk-demo + Step 4 Get the fpdb GIT tree ---------------------------- 4.1/ Best to take a copy to work with; following steps will assume that the fpdb folder is on the Desktop -#Step 5 Put MSVCP90.dll temporarily into the fpdb folder -#------------------------------------------------------- +5.3/ Install correct Numpy for this build +----------------------------------------- + +Numpy needs special handling, as by default it will install an optimised version for the SSE level of your CPU (SSE3, SSE2 or noSSE). This means that the completed package will not run on an older CPU. + +For this reason, do not just run the installer downloaded. + +5.3.1/ download the package to the Desktop + +numpy 1.4.1 ... http://sourceforge.net/projects/numpy/files/NumPy/1.4.1/numpy-1.4.1-win32-superpack-python2.6.exe/download + +5.3.2/ remove any existing numpy installation + +Go to the control panel and uninstall "Python2.6 numpy-1.4.1" + +5.3.3/ If you are wanting to build a package which works on all CPU's, install noSSE as follows: + +dos> cd Desktop +dos> numpy-1.4.1-win32-superpack-python2.6.exe /arch nosse + +5.3.4/ If you are wanting to build a package which works on SSE2 and better CPU's, install SSE2 as follows: + +dos> cd Desktop +dos> numpy-1.4.1-win32-superpack-python2.6.exe /arch sse2 + +5.3.4/ At the end of the installation, click on "show details" to confirm the installation. + +For no SSE: + +"Target CPU handles SSE2" +"Target CPU handles SSE3" +"nosse install (arch value: nosse)" +"Install NO SSE" +Extract: numpy-1.4.1-nosse.exe... 100% +Execute: "C:\DOCUME~1\user\LOCALS~1\Temp\numpy-1.4.1-nosse.exe" +Completed + +For SSE2: + +"Target CPU handles SSE2" +"Target CPU handles SSE3" +"sse2 install (arch value: sse2)" +"Install SSE 2" +Extract: numpy-1.4.1-sse2.exe... 100% +Execute: "C:\DOCUME~1\user\LOCALS~1\Temp\numpy-1.4.1-sse2.exe" +Completed -###### Step 5 no longer required as py2exe is instructed not to include the visualc/c++ dll's -# -#py2exe will check for MSVCP90.dll. The version installed by python2.6.5runtime is not in the path, so we will put it in place #TEMPORARILY. This will/must be removed manually once the exe has been created, as we do not have a licence to redistribute. -# -#Search for MSVCP90.dll (should be found in C:\WINDOWS\WinSxS\... -#copy this file TEMPORARILY to the Desktop\fpdb\pyfpdb folder Step 6 Run py2exe to generate fpdb.exe -------------------------------------- @@ -98,20 +144,14 @@ c:\GTK Build notes: -There is a warning "c:\Python26\lib\site-packages\py2exe\build_exe.py:16: DeprecationWarning: the sets module is deprecated import sets". This is probably coming from mysql-python see here https://bugs.launchpad.net/python-mysqldb/+bug/338387 - There is a warning about dll's not included "umath.pyd - c:\Python26\lib\site-packages\numpy\core\umath.pyd" - reason for this is not understood at present. (Umath is apparently included in the built package). -#Step 7 Delete C++runtime -#------------------------ -# -###### Step 7 is no longer required (see step 5 for reason) -# -#This is really really important, this file must NOT be distributed, so get rid of it now to avoid issues. -# -#7.1/ in Desktop\fpdb\pyfpdb\ remove the file msvcp90.dll -# +Step 7 not currently used +------------------------- + +Has been deleted + Step 8 Drag out the completed bundle ------------------------------------ @@ -136,13 +176,13 @@ Step 9 Initial run Observe that the msvcp90.dll was provided by the python runtime package, so we don't have to install the separate package from Microsoft. End-users will, however need the dependency. + Step 11 pruning --------------- 11.1/ The generated folder is 100+MB and can be pruned by removing the following directories: pyfpdb/lib/glib-2.0 -pyfpdb/lib/gtk-2.0/include pyfpdb/lib/pkgconfig pyfpdb/share/aclocal pyfpdb/share/doc @@ -152,10 +192,12 @@ pyfpdb/share/gtk-doc pyfpdb/share/locale pyfpdb/share/man + Step 12 rename folder --------------------- -12/ Rename the folder to something meaningful to the community +Rename the folder to something meaningful to the community. If you have built for NoSSE, append noSSE to the directory name. + Step 13 Compress to executable archive -------------------------------------- @@ -164,5 +206,8 @@ Step 13 Compress to executable archive 13.2/ Rightclick on fpdb executable folder, select 7zip Add to archive... select SFX archive option switch 13.3/ Test the created exe file +Step 14 If you need to build again for a different SSE level +------------------------------------------------------------ +Go back to step 5 and run again. diff --git a/pyfpdb/py2exe_setup.py b/pyfpdb/py2exe_setup.py index a6ac9675..55dafff8 100644 --- a/pyfpdb/py2exe_setup.py +++ b/pyfpdb/py2exe_setup.py @@ -230,8 +230,6 @@ pyfpdb/share/locale pyfpdb/share/man pyfpdb/share/themes/Default -Please double-check that msvcr90.dll is NOT in the distribution tree - Use 7-zip to zip up the distribution and create a self extracting archive and that's it! """