monashmicroimaging / podocytes

GNU General Public License v3.0
2 stars 3 forks source link

Mac Yosemite error: argument glomeruli_channel_number: invalid int value: 'Plus' #14

Closed GenevieveBuckley closed 6 years ago

GenevieveBuckley commented 6 years ago

Error: argument glomeruli_channel_number: invalid int value: 'Plus'

Mac Yosemite User left unaltered the input argument "glomeruli_channel_number" as the default (ie: 1) in the Gooey window.

Podo packaged distribution current as of merge of pull https://github.com/monashmicroimaging/podocytes/pull/13

UserWarning: No module named 'tifffile._tifffile'
  Functionality might be degraded or be slow.

usage: Podocyte Profiler [-h]
                         input_directory [input_directory ...]
                         output_directory [output_directory ...]
                         glomeruli_channel_number
                         [glomeruli_channel_number ...]
                         podocyte_channel_number [podocyte_channel_number ...]
                         minimum_glomerular_diameter
                         [minimum_glomerular_diameter ...]
                         maximum_glomerular_diameter
                         [maximum_glomerular_diameter ...]
Podocyte Profiler: error: argument glomeruli_channel_number: invalid int value: 'Plus'
GenevieveBuckley commented 6 years ago

Will have to build from scratch with pyinstaller on the Yosemite machine.

To do Thursday: [ ] Install anaconda, Java SE 6 legacy runtime, and the Java development kit. [ ] clone/download zip of podocytes master [ ] create podo env from environment.yml [ ] pip install -e . [ ] pyinstaller Podo.spec -w -F -y [ ] test bundled app

It might be worth seeing if this is forward compatible on High Sierra. If one build works for all macs used in the office, it might be simpler to distribute that one only.

jni commented 6 years ago

Searching the pyinstaller GH came up with this:

https://github.com/pyinstaller/pyinstaller/issues/2249

which suggests that PyInstaller 3.2+ should be able to produce cross-macOS builds no problem. I wonder if it's a java issue... It would be awesome to have several Mac machines at different versions to test all this stuff LOL.

GenevieveBuckley commented 6 years ago

I'm building on a High Sierra, Yosemite is older. That link is about building on an older OS and trying to run on a newer OS - essentially going in 'the other direction' than our situation.

From the pyinstaller docs:

Making Mac OS X apps Forward-Compatible

In Mac OS X, components from one version of the OS are usually compatible with later versions, but they may not work with earlier versions. The only way to be certain your app supports an older version of Mac OS X is to run PyInstaller in the oldest version of the OS you need to support.

jni commented 6 years ago

@GenevieveBuckley from a comment in the link:

It's built on El Capitan (10.11), and I've run it on Sierra (10.12), Yosemite (10.10), and Mavericks (10.9) successfully. I've not been able to try anything older than Mavericks.

On the other hand if I remember correctly, HS broke a whole bunch of backwards compatibility, so it may be a special case relative to the others.

GenevieveBuckley commented 6 years ago

I did see that comment - I think we're talking past each other here.

jni commented 6 years ago

The point of the link is that someone, somewhere, was able to build on one version (10.11) and have it run on an older version (10.9). But your documentation source should be considered the definitive answer. That person might have just gotten lucky. :+1:

Perhaps Travis-CI would be the right way to approach this.

GenevieveBuckley commented 6 years ago

Executive decision: we do not support older OS versions such as Yosemite.