Building the Python Interface to RNAstructure
	1) Make sure you have python installed. 
	   Your system should be configured to allow python to be invoked directly as `python`.
	   If that is not the case, please do one of the following:
		A) Set your PATH to include the location of the python executable.
		B) Create a symlink (in ~/bin or /usr/bin etc) so `python` points to the desired executable.
		C) Define the PYTHON environment variable to point to the desired executable. 
		   For example:   PYTHON=/usr/bin/python    or   PYTHON=python3
		   ** This is probably the least intrusive and it can be done directly on the 
		      Make command-line:  `make python  PYTHON=/usr/bin/python3`
	2) To build the native python extension, you must also have the python development 
	   headers and libraries installed:
			For apt (Ubuntu, Debian...):
				sudo apt-get install python-dev   # for python2.x installs
				sudo apt-get install python3-dev  # for python3.x installs
			For yum (CentOS, RHEL...):
				sudo yum install python-devel
			For dnf (Fedora...):
				sudo dnf install python2-devel  # for python2.x installs
				sudo dnf install python3-devel  # for python3.x installs
			For zypper (openSUSE...):
				sudo zypper in python-devel   # for python2.x installs
				sudo zypper in python3-devel  # for python3.x installs
			For Cygwin: 
				A) Use the Cygwin installer to select and install python2-devel or python3-devel package.
				   or 
				B) If you have apt-cyg installed, run `apt-cyg install python2-devel`  (or python3-devel)
	3) There are two distinct ways to compile the RNAstructure Python Interface (_RNAstructure_wrap.so)
	   (A) RNAstructure Build (Recommended): This uses the normal RNAstructure Makefile build system to 
	       compile the object files and final shared extension library. It should work well in most cases.
			$  `make python` (or `make python PYTHON=python3` etc)
	   (B) Python 'distutils' Build: This uses Python's distutils package to automatically configure and build 
		   the the object files and final shared extension library. It uses Python's common extension 
		   paradigm (setup.py).
			$  `make python-dist` (or `make python-dist PYTHON=python3 ` etc)
	4) Windows issues:
		4.1) If you choose to use the distutils method (see #3 above), python might use the wrong compiler name. This results in an error:
			"/bin/bash: gcc: command not found"
			 Workaround: Create a symlink named "gcc" in ~/bin or usr/bin etc that points to /usr/bin/x86_64-w64-mingw32-g++ 
				(or whatever your compiler is named). You may also need to do this for g++
		4.2) If compiling from the native Windows python executable (as opposed to cygwin's python), 
				you may need to choose which compiler to use.
				Add these lines to RNAstructure/setup.cfg or /usr/lib/pythonXX/distutils/distutils.cfg
					[build]
					compiler=mingw32
					[build_ext]
					compiler=mingw32
				(see https://wiki.python.org/moin/WindowsCompilers)
		4.3) Compiler error: pyport.h:351:24: fatal error: sys/select.h: No such file or directory
			 On Windows, you may need to edit pyconfig.h (which should be in the "include" directory, 
			 which you can find by running `make python-debug`. Look for the PY_INCLUDE_DIR definition.
				For example: /usr/include/python2.7/pyconfig.h
			 Search for the following variables and undefine them:  HAVE_SYS_SELECT_H  HAVE_SYS_TERMIO_H
			 i.e.: put these statements below the corresponding #define's
				#undef HAVE_SYS_SELECT_H
				#undef HAVE_SYS_TERMIO_H
		4.4) There is a bug in cygwinccompiler.py (in distutils). It gives the following error:
			  File "/usr/lib/python2.7/distutils/cygwinccompiler.py", line 189, in link
					libraries.extend(self.dll_libraries)
				TypeError: 'NoneType' object is not iterable
			Workaround: find and edit cygwinccompiler.py (use path as shown in error message)
				go to the line number mentioned in the error. The code should be similar to 
					# Additional libraries
					libraries.extend(self.dll_libraries)
				Change it to this:
					# Additional libraries
					if self.dll_libraries: libraries.extend(self.dll_libraries)
		4.5) Import fails at runtime: "ImportError: No such file or directory"
		     See #3 in the next section.
Running the Python Interface
	1) Python scripts that which to use the RNAstructure extension should have the following import statement:
		import RNAstructure
	2) The environment variable PYTHONPATH must include the directory that contains the following files:
		 - RNAstructure.py   # The main RNAstructure python extension
		 - Error_handling.py # Allows RNAstructure error codes to raise Python exceptions.
		 - RNAstructure_wrap.py   # Provides an interface between SWIG/native C++ code and Python
		 - _RNAstructure_wrap.so  # Native binary (with C++/Python bindings generated by SWIG)
		                       # aka _RNAstructure_wrap.dll on Windows or _RNAstructure_wrap.dylib on Mac
		These files are normally placed in the RNAstructure/exe directory, so PYTHONPATH should point there, unless
		you have installed the files in another location.
	3) The python distutils build system creates an interface binary that is dynamically linked with system libraries.
	   If the system libraries are not available on the PATH, you will get an import error, similar to this:
		    _RNAstructure_wrap = swig_import_helper()
			  File "/home/rna/rna/RNAstructure/exe/RNAstructure_wrap.py", line 16, in swig_import_helper
				return importlib.import_module('_RNAstructure_wrap')
			  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
				__import__(name)
			ImportError: No such file or directory
		Workaround: Add system libraries to your path.
			PATH+=:'/usr/x86_64-w64-mingw32/sys-root/mingw/bin' 
			The above path pay not be appropriate for your system. You can list the 
			required dynamically linked files with `ldd exe/_RNAstructure_wrap.dll`
			
			Ignore these: ntdll.dll kernel32.dll KERNELBASE.dll msvcrt.dll USER32.dll GDI32.dll LPK.dll USP10.dll libpython2.7.dll
			Make note of these (if present) and make sure the parent directory is in your PATH:	
				libgcc_s_seh-1.dll
				libwinpthread-1.dll
				libstdc++-6.dll
	