Installation windows Python x86-32 minGW

From relax wiki
Jump to navigation Jump to search

Download preparation

This guide should follow Homepage for MS Windows development platform

First: Download these packages, do not unpack them yet.

  1. (.exe): wxPython: http://www.lfd.uci.edu/~gohlke/pythonlibs/#wxpython
  2. (.exe): scons: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scons
  3. (.zip): minfx: http://download.gna.org/minfx/
  4. (.zip): bmrblib: http://download.gna.org/bmrblib/

take the win32 bit versions.

Install python and necessary packages

I recommend to install a python distribution which is packed with several packages already.

Winpython

You could consider winpython, which includes Ipython, numpy, scipy. matplotlib etc.:
Homepage

Make a folder: C:\WinPython27.
Run the downloaded winpython exe file, and extract to: C:\WinPython27.
Open WinPython Control Panel in ex. C:\WinPython27\WinPython-32bit-2.7.x
Drag the 4 above mentioned packakes, into the window, and install the packages.
For a command window, use the WinPython Command Prompt found in C:\WinPython27\WinPython-32bit-2.7.x, which fixes path issues for finding python.

Trick to set variables in cmd

Make a folder own in C:\WinPython27\WinPython-32bit-2.7.x\scripts and
copy C:\WinPython27\WinPython-32bit-2.7.x\scripts\env.bat to C:\WinPython27\WinPython-32bit-2.7.x\scripts\own\pyt32.bat
and copy C:\WinPython27\WinPython-32bit-2.7.x\scripts\cmd.bat to C:\WinPython27\WinPython-32bit-2.7.x\scripts\own\cmdpyt32.bat

Modify pyt32.bat from

set WINPYDIR=%~dp0..\python-2.7.5

to include ..\

set WINPYDIR=%~dp0..\..\python-2.7.5

Modify cmdpyt32.bat from

call %~dp0env.bat

to

call %~dp0pyt32.bat

Trick to add .bat files to PATH

If you have permission to change the Environment Variables in windows, you can add the pyt32.bat and cmdpyt32.bat to your path.
Right click Computer -> properties -> Advanced system settings -> Environment Variables -> User variables -> Edit: PATH
Add to end of the Variable value:

;C:\WinPython27\WinPython-32bit-2.7.x\scripts\own

In any folder, hold "Shift" and right click, "Open command window here". Write:

pyt32
python

Install Visual Studio Express 2012 for Windows Desktop

See versions of VS 2012 here.

For 32 bit compiling, you will only need, Visual Studio Express for Windows Desktop.
From http://www.microsoft.com/visualstudio/eng/downloads, download and install: Visual Studio 2012 Express for Windows Desktop.
Skip all extra packages install. After install, just exit any program, which opened after install.

Install Subversion checkout of relax

Install a subversion client. For example: http://tortoisesvn.net/

Right click in winpython folder: C:\WinPython27, and select SVN Checkout. Write the path:

svn://svn.gna.org/svn/relax/trunk
svn://svn.gna.org/svn/relax/branches/relax_disp relax_disp_32

Bugfix scons for 32bit building

Due to a bug, versions of scons <=2.3 should alter a line in:
C:\WinPython27\WinPython-32bit-2.7.5.1\python-2.7.5\Lib\site-packages\scons-2.3.0\SCons\Tool\MSCommon\vc.py

Line 364:

    if not req_target_platform and target_platform in ('amd64','x86_64'):
        try_target_archs.append('x86')

Should be:

    #if not req_target_platform and target_platform in ('amd64','x86_64'):
    #    try_target_archs.append('x86')
    if target_platform in ('amd64','x86_64'):
        try_target_archs.append('x86')
    print "requested", req_target_platform
    print "target", target_platform
    print "try", try_target_archs

If not fixing the bug, you will get:

C:\WinPython27\relax_disp_32>scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...

###########################
# Compiling the C modules #
###########################
Building the relaxation curve fitting module 'target_functions\\relax_fit.pyd'

cl /Fotarget_functions\c_chi2.obj /c target_functions\c_chi2.c /nologo /I"C:\Win
Python27\WinPython-32bit-xxx\scripts\..\python-xxx\include"
'cl' is not recognized as an internal or external command,
operable program or batch file.
scons: *** [target_functions\c_chi2.obj] Error 1
scons: building terminated because of errors.

Build relax

Open the WinPython Command Prompt
Navigate to the SVN checked out relax folder.

cd C:\WinPython27\relax_disp_32
scons

Or navigate to C:\WinPython27\relax_disp_32, hold "Shift" and right click, "Open command window here". Write:

pyt32
scons

Modify pyt32.bat

Modify C:\WinPython27\WinPython-32bit-xxx\scripts\own\pyt32.bat, and add to end of file

set PATH=%PATH%;C:\WinPython27\relax_disp_32

Test installation, by clicking C:\WinPython27\WinPython-32bit-xxx\scripts\own\cmdpyt32.bat, and write

relax
relax -g

Tip - shortcut to cmdpyt32.bat

Make shortcut to C:\WinPython27\WinPython-32bit-xxx\scripts\own\cmdpyt32.bat, and modify the shortcut. Set

Start in: %PWD%

You can now copy this shortcut around, which open a command prompt at the current folder, and set the paths correctly.

Install other software

xmgrace - for the plotting results of NMR-relax

relax produces xmgrace "'.agr" files for plotting. There exist two ports for xmgrace to windows QtGrace and GraceGTK.

Download QtGrace, and unpack to C:\WinPython27\qtgrace_windows_binary.
Then copy C:\WinPython27\qtgrace_windows_binary\bin\qtgrace.exe to C:\WinPython27\qtgrace_windows_binary\bin\xmgrace.exe

Modify C:\WinPython27\WinPython-32bit-xxx\scripts\own\pyt32.bat, and add to end of file

set PATH=%PATH%;C:\WinPython27\qtgrace_windows_binary\bin

Test installation, by clicking C:\WinPython27\WinPython-32bit-xxx\scripts\own\cmdpyt32.bat, and write

xmgrace

which should start xmgrace.

Python editor

A good lightweight editor for windows could Pyscripter

TEST INSTALLATION

After an installation you should really run an [Installation_test]

Trouble shooting

How-to

Download mingw-get-inst, and run it.

  1. Install to: C:\MinGW
  2. Take all options when installing (about 450 MB)
  3. Take the "pre" package option
It`ll use mingw compiler with msvc options in this case. Will not it? 
I think we have to use 
env = Environment(tools = ['default','mingw']) 
instead. 

env = Environment(tools = ['mingw'])

See also

Guide to radiance compilation