bjlittle / geovista

Cartographic rendering and mesh analytics powered by PyVista

Home Page:https://geovista.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Geovista 0.2.0 with Conda install can't be launched as CLI app on Windows

owenlamont opened this issue Β· comments

πŸ› Bug Report

Cannot run the Geovista CLI script on WIndows - not with the Conda prompt or from Conda Powershell

How to Reproduce

Create a Conda environment on WIndows with Geovista 0.2.0 then from any standard Windows shell attempt to run the Geovista script

Expected Behaviour

I expected the Geovista CLI to execute

Screenshots

Here is a screenshot of the standard Conda command line attempt:

image

Here is a screenshot of the Conda Powershell which attempts to find a Windows application to open the command line shell script:

image

Environment

  • OS & Version: Windows 11 Pro Version 10.0.22621 Build 22621
  • GeoVista Version: 0.2.0 (installed from conda-forge)

Additional Context

Click to expand this section...

On Windows most Conda packages that have a CLI script appear to have a corresponding executable file for running that script from command line. I'm afraid I don't know how those executables are created but that appears to be the standard way to launch a Python CLI script. See screenshot below:

image

I don't think this bash like shell script will work on Windows (it probably would if I ran from WSL but I don't want to resort to that).

@owenlamont Awesome, thanks for taking the time to raise this issue.

I must confess, at the moment I'm just focused on building and testing for linux, but I'll see if I can replicate this issue on a win environment πŸ‘

@owenlamont Just curious... but is this also an issue for geovista 0.1.x ?

@owenlamont Hmmm okay... an easy thing for me to try is to see whether the issue you're experiencing is related specifically to the conda installation on windows.

I don't have explicit entry points defined in the geovista conda meta.yaml recipe. I was assuming the setuptools would just work it's magic across platforms, but perhaps that's a necessary step to take to ensure that the geovista entry point is registered correctly.

I'm going to bump the build of geovista in the conda-forge channel with a simple change to the meta.yaml, and we'll quickly see whether that makes a difference.

I'll ping you here when the new build of geovista is available. Would you be willing to install and test when it's available?

Also, if you have time, would you mind trying the following...

Create a new conda environment with just python and pip on Windows i.e.,

conda create -n testenv -c conda-forge python pip

then

conda activate testenv

then

pip install geovista

Do you see the same problem with the geovista CLI when installed directly with pip as conda ?

Sure, I'll try creating a new environment and pip installing geovista to it to see if the behaviour is the same.

@owenlamont I'm just rebuilding geovista on the conda-forge channel now and adding explicit entry_points to the package recipe.

I'll give you the heads-up when the re-build of 0.2.0 is available.

If you could then rinse and repeat by using conda to install it in a new conda environment, activate it and then call the CLI on Windows, that would be great.

Feedback the outcome to let me know whether it worked or not. Thanks πŸ‘

Ahhh there appears to be issues on conda-forge atm, see https://conda-forge.org/status/

The re-build may have to wait a wee bit until the conda-forge infra-structure is all operational again

image

I did try pip install geovista 0.2.0 into a conda environment and that does run okay as a CLI

image

So I check my Scripts path and the pip installed geovista did create an executable:

image

conda install of geovista 0.1.4 also had the same issue - I can see your new build of geovista 0.2 on conda-forge. I have to get mamba to update is cache before it sees it, I'll see if I can figure out how to do that.

Tested, thanks the new build resolves this issue. Conda install of Geovista creates a executable file in the Scripts directory the same as the pip install:

image

I'll close this issue, thanks for resolving it so fast.

@owenlamont Okay, brilliant. Thanks for doing that.

I think this confirms my hunch that the issue is the lack of the explicit entry_point in the conda recipe.

Yeah, the package is now available on the geovista anaconda conda-forge channel

image

... but we just need the to wait for the index to get updated and then you'll be able to pull it down and test.

Yup, you're good to roll ...
image

Yeah that was the build I tested - just realised I needed to mamba clean -i to clear its index cache first

image

I'll close this issue, thanks for resolving it so fast.

Pleasure. Thanks for feeding back and testing. Totally priceless 🍻

@owenlamont BTW ... just out of curiosity, what's your use-case for geovista?

I was interested in geospatial visualisation (I worked/work in industries for renewable energy and currently flood mapping) and I just like 3D rendering and PyVista. I was thinking of creating a geo-specialised version of PyVista before I discovered you'd already thought of that.

To answer your question more specifically rendering digital elevation maps is interesting, and since I'm currently interested in flood impacts being able to super-impose elevation maps of flood water levels over terrain and especially show buildings and other infrastructure on the terrain would be super relevant - although maybe outside the scope of what geovista is intended for. I'm still exploring the best (preferably Python based) technologies for doing that.

If you've got specific feature requests then I'd be keen to know. They might align with what other early adopter users want, and it'll help me prioritise banking features that are genuinely useful πŸ‘

It's early days for geovista, but it's certainly an exciting space and I think there's huge potential.

Thanks again πŸ˜„

@all-contributors please add @owenlamont for bug and userTesting

@bjlittle

I've put up a pull request to add @owenlamont! πŸŽ‰