diff --git a/README.md b/README.md index 27e4544..98574b8 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,6 @@ Install system dependencies, clone the latest version from [git](http://jro-dev. ### Linux based system ``` $ sudo apt-get install python-pip python-dev gfortran libpng-dev freetype* libblas-dev liblapack-dev libatlas-base-dev python-qt4 python-tk libssl-dev libhdf5-dev -$ sudo pip install numpy $ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/ $ cd schain $ sudo pip install ./ @@ -40,6 +39,13 @@ if ```pip install ./``` does not work, install a proper python enviroment, and r $ brew install python ``` +### GUI Installation + +``` +$ sudo apt-get install python-pip python-dev gfortran libpng-dev freetype* libblas-dev liblapack-dev libatlas-base-dev python-qt4 python-tk libssl-dev libhdf5-dev +$ (virtual) bash link_PyQt4.sh +``` + ## First Script diff --git a/link_PyQt4.sh b/link_PyQt4.sh new file mode 100755 index 0000000..d5d44cb --- /dev/null +++ b/link_PyQt4.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# This hook is run after a new virtualenv is activated. +# ~/.virtualenvs/postmkvirtualenv + +libs=( PyQt4 sip.so ) + +python_version=python$(python -c "import sys; print (str(sys.version_info[0])+'.'+str(sys.version_info[1]))") +var=( $(which -a $python_version) ) + +get_python_lib_cmd="from distutils.sysconfig import get_python_lib; print (get_python_lib())" +lib_virtualenv_path=$(python -c "$get_python_lib_cmd") +lib_system_path=$(${var[-1]} -c "$get_python_lib_cmd") + +for lib in ${libs[@]} +do + ln -s $lib_system_path/$lib $lib_virtualenv_path/$lib +done diff --git a/schainpy/gui/schainGUI b/schainpy/gui/schainGUI index 610d685..0fb14e7 100644 --- a/schainpy/gui/schainGUI +++ b/schainpy/gui/schainGUI @@ -1,29 +1,40 @@ #!/usr/bin/env python -import os, sys -from PyQt4 import QtCore, QtGui -from PyQt4.QtGui import QApplication +import os +import sys +from schainpy.utils import log + +try: + from PyQt4 import QtCore, QtGui + from PyQt4.QtGui import QApplication +except: + log.error( + 'You should install PtQt4 module in order to run the GUI. See the README.') + sys.exit() + from schainpy.gui.viewcontroller.initwindow import InitWindow from schainpy.gui.viewcontroller.basicwindow import BasicWindow from schainpy.gui.viewcontroller.workspace import Workspace + def main(): - + app = QtGui.QApplication(sys.argv) - - Welcome=InitWindow() - - if not Welcome.exec_(): - sys.exit(-1) - - WorkPathspace=Workspace() - if not WorkPathspace.exec_(): + + Welcome = InitWindow() + + if not Welcome.exec_(): sys.exit(-1) - - MainGUI=BasicWindow() - MainGUI.setWorkSpaceGUI(WorkPathspace.dirComBox.currentText()) + + WorkPathspace = Workspace() + if not WorkPathspace.exec_(): + sys.exit(-1) + + MainGUI = BasicWindow() + MainGUI.setWorkSpaceGUI(WorkPathspace.dirComBox.currentText()) MainGUI.show() sys.exit(app.exec_()) - + + if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/setup.py b/setup.py index 2384c56..ef229d3 100644 --- a/setup.py +++ b/setup.py @@ -4,9 +4,11 @@ Created on Jul 16, 2014 @author: Miguel Urco ''' +import os from setuptools import setup, Extension from setuptools.command.build_ext import build_ext as _build_ext from schainpy import __version__ +from schainpy.utils import log class build_ext(_build_ext): @@ -18,6 +20,14 @@ class build_ext(_build_ext): self.include_dirs.append(numpy.get_include()) +try: + from PyQt4 import QtCore, QtGui + from PyQt4.QtGui import QApplication +except: + log.warning( + 'You should install PtQt4 module in order to run the GUI. See the README.') + + setup(name="schainpy", version=__version__, description="Python tools to read, write and process Jicamarca data",