Mapillary Tools 0.5.3 for macOS? (long frustrated text)

I am fully aware of the following other threads:
a) Mapillary Tools 0.5.3 for Windows?
b) Unable to upload: The AWS Access Key Id you provided does not exist in our records

My story:
mapillary_tools was my preferred software after starting to contribute higher picture volumes using a borrowed GoPro Hero 5 session in June 2019. Not super easy software but very good for more complex setups like mine. Things went easier after purchasing my own GoPro Hero 8 black in June 2020.

After having a lot of trouble with mapillary tools 0.5.0 becoming unreliable in mid July 2020 (number of uploaded pictures dropped for no obvious reason), I started using the web uploader (being cut off from needed functions), and I am not impressed with its lack of features.

As I had neither the time to figure out reasons for the crappy behaviour of 0.5.0 nor access to my own broadband connection at home for 6 weeks, I postponed my search for the reasons. After returning to home I searched for updates of the mapillary tools.

Again, I was not impressed, this time with the result of my search. For the version 0.5.3 there is still no macOS installer version available on the Github page. The current advice given in this forum was to create my own “binary” using Python 2.7 as no Python 3.0 version is available from Mapillary.

BTW: A Python 3 version has been requested on Github for years now, see this issue: Mapillary Tools - Issue #227. There is still no answer at all from official Mapillary developers.

I figured out that I would need a custom installation and had to learn that Python 2.7 is not available through my preferred packet manager homebrew any longer. Further internet search revealed that Python 2.7 has been dropped from homebrew as it has reached End Of Life in January 2020. A 2.7 binary installer is available from Python website. Also a dockerized version might be a possible solution to get mapillary tools up and running, suggested in the Github issue thread.

When I fully became aware of the above, I stopped searching and started typing this posting.

My summary

  • the old version 0.5.0 does not work any longer
  • a new 0.5.3 installer for macOS is not provided by Mapillary and must be created by myself from sources
  • custom installation of 0.5.3 is only possible with the discontinued version of Python 2.7
  • custom installation of 0.5.3 needs additional tools being installed
  • a version compatible with Python 3 has not been shipped by Mapillary for years
  • as Python 3 is already installed on my Mac, additional effort has to be made to let mapillary_tools run

Final questions
Does anyone at Mapillary headquarter really thinks that high volume submitters should create their own software just to upload geocoded pictures?
Does anyone at Mapillary headquarter really thinks that this is good support for the Mac platform?

Thanks for reading! And I apologize in advance if I might hurt anyone - but I wasted a lot of time being left out in the dark when communication and support from Mapillary was needed.

2 Likes

A thought

The github development branch of the tools is certainly creating a significant number of alerts about python 3 updates. I dont know what stage they are that but it might be worth setting up a virtual environment and pip’ing them in for testing… Note too that there are still users that need 2.7…

Thanks for your insights regarding the situation of Python 2.7.

Yes, setting up something virtual might be possible, but as I am not an Python expert and having too many other systems to maintain I would not like to donate more time to Mapillary just to get a more capable uploader.

And yes, I know that Python on macOS is a mess …

XKCD had a good one about this: https://xkcd.com/1987/
Explanations: https://www.explainxkcd.com/wiki/index.php/1987:_Python_Environment

I found it relatively easy. My reason though was I was using a Linux Debian (Jessie) production server and didn’t want to taint that. I just did this at the user command prompt;

mkdir code
cd code
python -m virtualenv --python=python2 --system-site-packages .env
source .env/bin/activate
pip install git+https://github.com/mapillary/Piexif
pip install git+https://github.com/mapillary/mapillary_tools

When I wanted to experiment with the development branch I just setup another code directory as above and
pip install git+https://github.com/mapillary/mapillary_tools@v0.4.0

v4 was of course a long time ago

Nowadays if I had a good Internet connection I’d consider using a purpose PC with just Debian on it. Hardware is cheap.

Thanks @bob3bob3 for the suggestion to set up an independent installation to let mapillary tools run.

Based on that I checked several options:

  1. Virtual Box (Oracle) to have at least a virtual Debian available
    1a) Running a VDI image with preinstalled Debian from external website
    1b) Create virtual Debian installation from scratch
  2. Multipass (Ubuntu) as a small Debian style environment running with the native hypervisor of the host operating system
  3. Setting up bootable Debian on an USB stick as alternative OS
  4. Docker version of Debian Jessie as outlined in Github issue
  5. Create a virtualenv version of Python on my MacBook Pro similar to your suggestion

After checking the necessary first and longterm efforts and possible risks for each option, I decided for none of the above. Given my personal track record of not so lucky Linux maintenance experience several times in the past, I would not be able to resolve complex dependencies if the might occur. Or would not have the patience to check too many web pages sometimes telling the opposite.

As I managed to resolve my other current GPS issue with my GoPro in the meantime, the desperate need for mapillary tools has decreased. My main task of writing GPS positions (if nonsense GPS data were captured by the GoPro) from external GPX tracks (being correct) is not necessary any longer.

And an online merchant will receive a return of a metal protection cage being advertised wrongly.

do you use wine by any chance? im running pop_os/linux and i just use the windows exe instead of having to worry about installing any the dependencies

instead of ‘mapillary_tools’ at the start of the command i use ‘wine path_to_exe’ and everything works as normal