Skip to content

blorgon9000/pyopus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Authors
=======
Arpad Buermen

parts of the code contributed by 

Janez Puhan (HSPICE file interface)
Jernej Olensek (global optimization test problems)
Gregor Cijan (cost collector)


Credits 
=======
PyOpus uses code from the following packages
- wxMpl by Ken McIvor
- FORTRAN test problems implemented by
  - Napsu Karmitsa
  - Ladislav Lukšan and Jan Vlček
  - Jorge More and Stefan Wild
- MADS test problems MDO and STYRENE implemented by Sébastien Le Digabel,
  Charles Audet, et. al. 

See src/*.zip and src/*.tar.gz for details on respective licenses. 


What platforms was PyOPUS tested on? 
====================================
Windows binary tested under Windows 7 (64-bit)
  - Python 2.7.10 (32-bit)
  - wxPython 3.0.2.0 (32-bit)
  - MatPlotLib 1.4.3 (32-bit)
  - NumPy 1.9.2 (32-bit)
  - SciPy 0.15.1 (32-bit)
  - Greenlet 0.4.7
  - CVXOPT 1.1.7

Linux binary tested under Debian Jessie (64-bit)
  - Python 2.7.9
  - wxPython 3.0.1.1 
  - MatPlotLib 1.4.2
  - NumPy 1.8.2
  - SciPy 0.14
  - Greenlet 0.4.2
  - CVXOPT 1.1.4
  - OpenMPI 1.6.5 with MPI4py 1.3.1

Windows specifics:
  - MPI functionality not tested
  - CUTEr support not working, but should be fairly simple to implement it


Using distutils: 
================
- Preparation for building PyOPUS under Windows 7 (64 bit)
  - Install VC 2008 compiler for Python, available at
    http://www.microsoft.com/en-us/download/details.aspx?id=44266
  - Start the compilation under VC 2008 64-bit command prompt
  - If building PyOPUS fails with a message saying vcvarsall.bat cannot be found, 
    edit distutils/msvc9compiler.py, make it return the path to vcvarsall.bat, 
    i.e. add at the beginning of find_vcvarsall()
      return "C:\\path_to_vc_for_python_2008\\Visual C++ for Python\\9.0\\vcvarsall.bat"
  
- To build PyOPUS

	python setup.py build
	
  First the included copy of libf2c is compiled using GNU make (Linux) or Microsoft nmake (Windows). 
  The library is built under build/lib.*/pyopus/
  The objetc files for extensions are built under build/temp.*/
  
- There are several ways how to install the library after a successfull build 

  1. Default location 
  
		python setup.py install

     installs under default install prefix in folder
  
		/usr/local/lib/python2.7/dist-packages/pyopus	
  
     You will have to add /usr/local/lib/python2.7/dist-packages to your 
     PYTHONPATH. 
  
  2. To install in a different install prefix use for instance 
  
		python setup.py install --prefix /home/arpadb/pfx

     which places the files under
  
		/home/arpadb/pfx/lib/python2.7/site-packages/pyopus/

     In this case you must add /home/arpadb/pfx/lib/python2.7/site-packages to 
     your PYTHONPATH. 
  
  3. By running setup.py with --install-lib option 
  
		python setup.py install --install-lib /home/arpadb/pfx
	
     the files are installed under
  
		/home/arpadb/pfx/pyopus/
  
     so you have to add /home/arpadb/pfx to your PYTHONPATH. 
  
  
- To build a dumb distribution (.tar.gz) for Linux or Windows

	python setup.py bdist_dumb --format=gztar

  The package is created in dist/ with name PyOPUS*.tar.gz
  
  To build a .zip file
  
	python setup.py bdist_dumb --format=zip

  The package is created in dist/ with name PyOPUS*.zip
  
  Under Linux the contents are prefixed with the following path
  
    ./usr/local/lib/python2.7/dist-packages/pyopus

  Under Windows the prefix is
  
	Python27\Lib\site-packages\pyopus

- To build a Windows installer distribution

	python setup.py bdist --format=wininst
  
  The package is created in dist/ with name PyOPUS*.exe
  	
- To build a source distribution 

	python setup.py sdist --format=gztar
  
  or (for .zip format)

	python setup.py sdist --format=zip
	

	
Building documentation
======================
Documentation is built from the docstrings and the .rst files in docsrc/

You first need a working PyOPUS installation and a working Python Sphinx 
installation. A Makefile is available in docsrc/. 

To build the .html docomentation go to docsrc/ and type

	make clean
	make html
	
The documentation will be built in docsrc/_build/html with index.html as the 
main document and entry point.