Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The OpenVisualizer Confluence page lists the required modules. Some modules are Python based, and some are not. This This section provides a detailed review.

...

There is a setup.py extension, bdist_nsi, to create an NSIS-based Windows installer. This could handle Python itself. There also is documentation on how to include a nested installer, which is required (I think) for PyWin32 and TAP for WIndows. We could use bdist_nsi to create the initial script, extend it for PyWin32 and TAP, and then create the installer.

There is a similar setup.py extension, python-innosetup, for InnoSetup.

Implementation Plan

Create pip installer, and register at Pypi.

I do not plan to pursue use of an installer a few reasons:

  • An installer seems well suited to an end-user GUI application. It would be more appropriate once we have a desktop Web UI, particularly for simulation.
  • Our users are pretty technical, and the requirement to install PyWin32 and TAP is not onerous.
  • I have never used these installers, and don't know how much work is required. In contrast, implementation of pip is small and simple.

We'll get to a desktop UI installer, just not yet. (smile)

Better install/requirements documentation

  • Windows vs. Linux installation is now different enough that we need to separately call out the Windows requirements. A separate page for this documentation is worthwhile.
  • The table of requirements should be segmented into runtime vs. development, where development includes SCons, yappi, etc.

Other topics

Location of requirements.pip

We have a requirements.pip at at the topmost directory of the openwsn-sw repository. However, we only want to install OpenVisualizer, so we require requirements.pip in directory software/openvisualizer. I don't see a useful purpose for the top-level requirements.pip, and recommend we remove it.

Package Upgrades via pip

pip does support package upgrades. See the usage page.

...