From 7e01f2cef20e7f5788750f997af6ea20523f3e90 Mon Sep 17 00:00:00 2001 From: Shugo Kaneko <49300827+kanekosh@users.noreply.github.com> Date: Fri, 30 Jun 2023 06:26:23 -0400 Subject: [PATCH] Installation docs update (#350) Co-authored-by: Marco Mangano <36549388+marcomangano@users.noreply.github.com> Co-authored-by: Eirikur Jonsson --- doc/install.rst | 12 +++++++++++- doc/optimizers/IPOPT.rst | 2 ++ doc/optimizers/SNOPT.rst | 3 +++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/doc/install.rst b/doc/install.rst index d4ad85fb..0cb472ff 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -12,7 +12,16 @@ Conda packages are available on ``conda-forge`` and can be installed via conda install -c conda-forge pyoptsparse This would install pyOptSparse with the built-in optimizers, as well as IPOPT. -If you wish to use optimizers not packaged by ``conda``, e.g. SNOPT, then you must build the package from source. +If you wish to use optimizers not packaged by ``conda``, e.g. SNOPT, then you must either build the package from source or use the installation script below. +If you have the SNOPT precompiled library available, it is possible to dynamically link it to pyOptSparse following the instructions on the :ref:`SNOPT installation page`. + +Using an installation script +---------------------------- +You can build and install pyOptsparse using a `Python script `_ developed by the OpenMDAO team. +For usage, see the instruction on the README of the repo. + +This script is particularly useful for installing :ref:`IPOPT` and its dependencies. +It can also support SNOPT installation if you have access to the SNOPT source code. Building from source -------------------- @@ -37,6 +46,7 @@ The only exception is ``numpy``, which is required as part of the build process * In Linux, the python header files (``python-dev``) are also required. * **We do not support operating systems other than Linux.** For macOS users, the conda package may work out of the box if you do not need any non-default optimizers. + Also, the installation script by OpenMDAO likely works on macOS. For Windows users, a conda package is on the way, if it's not already in the repos. This comes with the same disclaimer as the macOS conda package. Alternatively, follow the :ref:`conda build instructions` below as this will work on any platform. diff --git a/doc/optimizers/IPOPT.rst b/doc/optimizers/IPOPT.rst index ebd03bc0..dd2ff586 100644 --- a/doc/optimizers/IPOPT.rst +++ b/doc/optimizers/IPOPT.rst @@ -1,3 +1,5 @@ +.. _ipopt: + IPOPT ===== IPOPT (Interior Point OPTimizer) is an open source interior point optimizer, designed for large-scale nonlinear optimization. diff --git a/doc/optimizers/SNOPT.rst b/doc/optimizers/SNOPT.rst index f5257f1c..beeb42ec 100644 --- a/doc/optimizers/SNOPT.rst +++ b/doc/optimizers/SNOPT.rst @@ -25,6 +25,9 @@ We currently test v7.7.7 and v7.7.1. Installation by conda ********************* + +.. _snopt_by_conda: + When installing via conda, all pyoptsparse binaries are pre-compiled and installed as part of the package. However, the `snopt` binding module cannot be included as part of the package due to license restrictions.