Install python via conda

Dear all,

I have seen in the forum, that the InVEST python code is not workig with Python 3.12.4.
Therefore I tried to establish a new environment as mentiond and Installing the python code via conda.
→ However, I got a syntax error

Python 3.12.4 (tags/v3.12.4:8e8a4ba, Jun 6 2024, 19:30:16) [MSC v.1940 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license()” for more information.

conda create -n env-invest “python=3.11”
conda activate env-invest
conda install natcap.invest -c conda-forge
SyntaxError: invalid syntax

Thanks
Sibylle

Did you type these conda commands into the Python interpreter? These are actually not Python code, that’s why Python issued the SyntaxError.

The conda commands are meant to be entered into a command prompt such as CMD or Terminal. And then after you create the environment, activate it, and install natcap.invest, then you could run Python from the activated environment.

Hello Dave

Thank you very much. Yes I was not aware that I need cmd before the python interpreter.

In cmd I got the following error:
The command “conda” is either misspelled or could not be found.

Kind regards
Sibylle

Hi @sibylles ,

The command “conda” is either misspelled or could not be found.

This indicates that conda has not been installed on your system. That’s the first step. Installing conda — conda 24.5.1.dev78 documentation

Dear Dave

Thanks. Yes I installed Conda (see fig), by the miniconda installer. However, I got the same message.
Do I need to install conda at the same place as python or InVEST?

Kind regards
Sibylle

No. But after installing miniconda I would expect a Miniconda folder to exist in that directory you show, in addition to the .conda folder. Perhaps something went wrong during the installation?

Thanks Dave

I decided to use “just Me” not “all users” (admin privileges) - reinstallation. Then I got the followig warming. However, I am the admin.

Furthermore miniconda seems to be there on C:/ProgramData

Kind regards
Sibylle

So the “all users” installation installed to “ProgramData”. That makes sense and should work fine. But the conda command was not found maybe because the miniconda install location did not make it into the windows PATH. Usually, part of the installation process would ask you whether you want to “add … to the PATH”. And the answer should be yes.

I can’t really help debug this much more. I would consult with other online resources specific to installing miniconda.

Dear Dave
Thanks a lot for your help

Solution
Using Anaconda Prompt (miniconda3) instead of cmd.

image

As suggested I used the following code:
conda create -n env-invest “python=3.11”
conda activate env-invest
conda install natcap.invest -c conda-forge

Here the output. It seems that I successfully installed InVEST python:

(base) C:\Users\Sibylle Stöckli>conda create -n env-invest “python=3.11”
WARNING: A space was detected in your requested environment path:
‘C:\Users\Sibylle Stöckli.conda\envs\env-invest’
Spaces in paths can sometimes be problematic. To minimize issues,
make sure you activate your environment before running any executables!

Channels:

  • defaults
    Platform: win-64
    Collecting package metadata (repodata.json): done
    Solving environment: done

Package Plan

environment location: C:\Users\Sibylle Stöckli.conda\envs\env-invest

added / updated specs:
- python=3.11

The following packages will be downloaded:

package                    |            build
---------------------------|-----------------
ca-certificates-2024.7.2   |       haa95532_0         128 KB
pip-24.0                   |  py311haa95532_0         3.5 MB
python-3.11.9              |       he1021f5_0        18.3 MB
setuptools-69.5.1          |  py311haa95532_0         1.3 MB
vc-14.2                    |       h2eaa2aa_4          10 KB
vs2015_runtime-14.29.30133 |       h43f2093_4         1.1 MB
wheel-0.43.0               |  py311haa95532_0         171 KB
------------------------------------------------------------
                                       Total:        24.5 MB

The following NEW packages will be INSTALLED:

bzip2 pkgs/main/win-64::bzip2-1.0.8-h2bbff1b_6
ca-certificates pkgs/main/win-64::ca-certificates-2024.7.2-haa95532_0
libffi pkgs/main/win-64::libffi-3.4.4-hd77b12b_1
openssl pkgs/main/win-64::openssl-3.0.14-h827c3e9_0
pip pkgs/main/win-64::pip-24.0-py311haa95532_0
python pkgs/main/win-64::python-3.11.9-he1021f5_0
setuptools pkgs/main/win-64::setuptools-69.5.1-py311haa95532_0
sqlite pkgs/main/win-64::sqlite-3.45.3-h2bbff1b_0
tk pkgs/main/win-64::tk-8.6.14-h0416ee5_0
tzdata pkgs/main/noarch::tzdata-2024a-h04d1e81_0
vc pkgs/main/win-64::vc-14.2-h2eaa2aa_4
vs2015_runtime pkgs/main/win-64::vs2015_runtime-14.29.30133-h43f2093_4
wheel pkgs/main/win-64::wheel-0.43.0-py311haa95532_0
xz pkgs/main/win-64::xz-5.4.6-h8cc25b3_1
zlib pkgs/main/win-64::zlib-1.2.13-h8cc25b3_1

Proceed ([y]/n)? conda activate env-invest
Invalid choice: conda activate env-invest
Proceed ([y]/n)? conda install natcap.invest -c conda-forge
Invalid choice: conda install natcap.invest -c conda-forge
Proceed ([y]/n)? y

Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

To activate this environment, use

$ conda activate env-invest

To deactivate an active environment, use

$ conda deactivate

(base) C:\Users\Sibylle Stöckli>

Kind regards
Sibylle

and here to installation path:

additional question
When going to the next installation page, the cli
The InVEST CLI — InVEST 3.14.2.post1+g1c98e3a.d20240530 documentation

Do I need to type the codes in IDLE Shell Python 3.12.4 or the anaconda prompt?
→ unfortunately I got the following error, althoug Invest python is now installed.

(base) C:\Users\Sibylle Stöckli>$ invest list
The command ‘$’ is either misspelled or
could not be found.

Kind regards
Sibylle

Hi @sibylles , $ is not part of the command, it is meant to indicate that the invest command should be run in a shell command prompt, as opposed to the python prompt.

Try invest run --help after activating the conda env in which you installed natcap.invest

Dear Dave
After discussions with Anaconda I realised, that on computer 1 my user name (Sibylle Stöckli) produced the error and on the computer 2 (the certificates of the virtual machines) produced the other errror.
So I changed to my old mac.

As far as I see everything is no installed. Howerer there is still a bug I cannot find
conda install -p path/to/myenv python=3.11
(base) sibylles-mbp:~ sibyllestockli$ invest list
-bash: invest: command not found
(base) sibylles-mbp:~ sibyllestockli$ invest run --help
-bash: invest: command not found
(base) sibylles-mbp:~ sibyllestockli$

Here the installation:

(base) sibylles-mbp:~ sibyllestockli$ conda install natdcap.invest -c conda-forge
Channels:

  • conda-forge
  • defaults
    Platform: osx-64
    Collecting package metadata (repodata.json): done
    Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  • natdcap.invest

Current channels:

To search for alternate channels that may provide the conda package you’re
looking for, navigate to

https://anaconda.org

and use the search bar at the top of the page.

(base) sibylles-mbp:~ sibyllestockli$ invest list
-bash: invest: command not found
(base) sibylles-mbp:~ sibyllestockli$ invest run --help
-bash: invest: command not found
(base) sibylles-mbp:~ sibyllestockli$ conda create -n env-invest “python=3.11”

InvalidMatchSpec: Invalid spec ‘“python=3.11”’: Invalid version ‘3.11”’: invalid character(s)

(base) sibylles-mbp:~ sibyllestockli$ conda activate env-invest

EnvironmentNameNotFound: Could not find conda environment: env-invest
You can list all discoverable environments with conda info --envs.

(base) sibylles-mbp:~ sibyllestockli$ conda install natcap.invest -c conda-forgeinvest run --help
usage: conda install [-h] [–revision REVISION] [-n ENVIRONMENT | -p PATH]
[-c CHANNEL] [–use-local] [–override-channels]
[–repodata-fn REPODATA_FNS] [–experimental {jlap,lock}]
[–no-lock] [–repodata-use-zst | --no-repodata-use-zst]
[–strict-channel-priority] [–no-channel-priority]
[–no-deps | --only-deps] [–no-pin] [–copy]
[–no-shortcuts] [–shortcuts-only SHORTCUTS_ONLY] [-C]
[-k] [–offline] [–json] [-v] [-q] [-d] [-y]
[–download-only] [–show-channel-urls] [–file FILE]
[–solver {classic,libmamba}] [–force-reinstall]
[–freeze-installed | --update-deps | -S | --update-all | --update-specs]
[-m] [–clobber] [–dev]
[package_spec …]

Install a list of packages into a specified conda environment.

This command accepts a list of package specifications (e.g, bitarray=0.8)
and installs a set of packages consistent with those specifications and
compatible with the underlying environment. If full compatibility cannot
be assured, an error is reported and the environment is not changed.

Conda attempts to install the newest versions of the requested packages. To
accomplish this, it may update some packages that are already installed, or
install additional packages. To prevent existing packages from updating,
use the --freeze-installed option. This may force conda to install older
versions of the requested packages, and it does not prevent additional
dependency packages from being installed.

If you wish to skip dependency checking altogether, use the ‘–no-deps’
option. This may result in an environment with incompatible packages, so
this option must be used with great caution.

conda can also be called with a list of explicit conda package filenames
(e.g. ./lxml-3.2.0-py27_0.tar.bz2). Using conda in this mode implies the
–no-deps option, and should likewise be used with great caution. Explicit
filenames and package specifications cannot be mixed in a single command.

positional arguments:
package_spec List of packages to install or update in the conda
environment.

options:
-h, --help Show this help message and exit.
–revision REVISION Revert to the specified REVISION.
–file FILE Read package versions from the given file. Repeated
file specifications can be passed (e.g. --file=file1
–file=file2).
–dev Use sys.executable -m conda in wrapper scripts
instead of CONDA_EXE. This is mainly for use during
tests where we test new conda sources against old
Python versions.

Target Environment Specification:
-n ENVIRONMENT, --name ENVIRONMENT
Name of environment.
-p PATH, --prefix PATH
Full path to environment location (i.e. prefix).

Channel Customization:
-c CHANNEL, --channel CHANNEL
Additional channel to search for packages. These are
URLs searched in the order they are given (including
local directories using the ‘file://’ syntax or simply
a path like ‘/home/conda/mychan’ or ‘…/mychan’).
Then, the defaults or channels from .condarc are
searched (unless --override-channels is given). You
can use ‘defaults’ to get the default packages for
conda. You can also use any name and the .condarc
channel_alias value will be prepended. The default
channel_alias is https://conda.anaconda.org/.
–use-local Use locally built packages. Identical to ‘-c local’.
–override-channels Do not search default or .condarc channels. Requires
–channel.
–repodata-fn REPODATA_FNS
Specify file name of repodata on the remote server
where your channels are configured or within local
backups. Conda will try whatever you specify, but will
ultimately fall back to repodata.json if your specs
are not satisfiable with what you specify here. This
is used to employ repodata that is smaller and reduced
in time scope. You may pass this flag more than once.
Leftmost entries are tried first, and the fallback to
repodata.json is added for you automatically. For more
information, see conda config --describe repodata_fns.
–experimental {jlap,lock}
jlap: Download incremental package index data from
repodata.jlap; implies ‘lock’. lock: use locking when
reading, updating index (repodata.json) cache. Now
enabled.
–no-lock Disable locking when reading, updating index
(repodata.json) cache.
–repodata-use-zst, --no-repodata-use-zst
Check for/do not check for repodata.json.zst. Enabled
by default.

Solver Mode Modifiers:
–strict-channel-priority
Packages in lower priority channels are not considered
if a package with the same name appears in a higher
priority channel.
–no-channel-priority
Package version takes precedence over channel
priority. Overrides the value given by conda config --show channel_priority.
–no-deps Do not install, update, remove, or change
dependencies. This WILL lead to broken environments
and inconsistent behavior. Use at your own risk.
–only-deps Only install dependencies.
–no-pin Ignore pinned file.
–solver {classic,libmamba}
Choose which solver backend to use.
–force-reinstall Ensure that any user-requested package for the current
operation is uninstalled and reinstalled, even if that
package already exists in the environment.
–freeze-installed, --no-update-deps
Do not update or change already-installed
dependencies.
–update-deps Update dependencies that have available updates.
-S, --satisfied-skip-solve
Exit early and do not run the solver if the requested
specs are satisfied. Also skips aggressive updates as
configured by the ‘aggressive_update_packages’ config
setting. Use ‘conda info --describe
aggressive_update_packages’ to view your setting.
–satisfied-skip-solve is similar to the default
behavior of ‘pip install’.
–update-all, --all Update all installed packages in the environment.
–update-specs Update based on provided specifications.

Package Linking and Install-time Options:
–copy Install all packages using copies instead of hard- or
soft-linking.
–no-shortcuts Don’t install start menu shortcuts
–shortcuts-only SHORTCUTS_ONLY
Install shortcuts only for this package name. Can be
used several times.
-m, --mkdir --mkdir is pending deprecation and will be removed
in 25.3. Use conda create instead.
–clobber Allow clobbering (i.e. overwriting) of overlapping
file paths within packages and suppress related
warnings.

Networking Options:
-C, --use-index-cache
Use cache of channel index files, even if it has
expired. This is useful if you don’t want conda to
check whether a new version of the repodata file
exists, which will save bandwidth.
-k, --insecure Allow conda to perform “insecure” SSL connections and
transfers. Equivalent to setting ‘ssl_verify’ to
‘false’.
–offline Offline mode. Don’t connect to the Internet.

Output, Prompt, and Flow Control Options:
–json Report all output as json. Suitable for using conda
programmatically.
-v, --verbose Can be used multiple times. Once for detailed output,
twice for INFO logging, thrice for DEBUG logging, four
times for TRACE logging.
-q, --quiet Do not display progress bar.
-d, --dry-run Only display what would have been done.
-y, --yes Sets any confirmation values to ‘yes’ automatically.
Users will not be asked to confirm any adding,
deleting, backups, etc.
–download-only Solve an environment and ensure package caches are
populated, but exit prior to unlinking and linking
packages into the prefix.
–show-channel-urls Show channel urls. Overrides the value given by conda config --show show_channel_urls.

Examples:

Install the package ‘scipy’ into the currently-active environment::

conda install scipy

Install a list of packages into an environment, myenv::

conda install -n myenv scipy curl wheel

Install a specific version of ‘python’ into an environment, myenv::

conda install -p path/to/myenv python=3.11

(base) sibylles-mbp:~ sibyllestockli$ invest list
-bash: invest: command not found
(base) sibylles-mbp:~ sibyllestockli$

I think this might just be a simple issue of a typo :slight_smile:

There’s an errant d in the middle of natcap.invest. Once that’s removed, I think conda should be able to successfully run through. Let us know if it doesn’t!

Many many thanks for your extremely valuable support.
Here the next error on my mac (I am using “Terminal”).

Last login: Fri Aug 2 08:12:27 on console

(base) sibylles-mbp:~ sibyllestockli$ conda create -n env-invest “python=3.11”

InvalidMatchSpec: Invalid spec ‘“python=3.11”’: Invalid version ‘3.11”’: invalid character(s)

(base) sibylles-mbp:~ sibyllestockli$ conda activate env-invest

EnvironmentNameNotFound: Could not find conda environment: env-invest

You can list all discoverable environments with conda info --envs.

(base) sibylles-mbp:~ sibyllestockli$ conda install natcap.invest -c conda-forge

Channels:

  • conda-forge

  • defaults

Platform: osx-64

Collecting package metadata (repodata.json): done

Solving environment: - warning libmamba Added empty dependency for problem type SOLVER_RULE_UPDATE

failed

LibMambaUnsatisfiableError: Encountered problems while solving:

  • package natcap.invest-3.10.2-py310h84c6d00_1 requires python >=3.10,<3.11.0a0, but none of the providers can be installed

Could not solve for environment specs

The following packages are incompatible

├─ natcap.invest is installable with the potential options

│ ├─ natcap.invest [3.10.1|3.10.2] would require

│ │ └─ python >=3.7,<3.8.0a0 , which can be installed;

│ ├─ natcap.invest [3.10.1|3.10.2|…|3.14.1] would require

│ │ └─ python >=3.8,<3.9.0a0 , which can be installed;

│ ├─ natcap.invest [3.10.1|3.10.2|…|3.14.1] would require

│ │ └─ python >=3.9,<3.10.0a0 , which can be installed;

│ ├─ natcap.invest [3.10.2|3.11.0|…|3.14.1] would require

│ │ └─ python >=3.10,<3.11.0a0 , which can be installed;

│ └─ natcap.invest 3.14.1 would require

│ └─ python >=3.11,<3.12.0a0 , which can be installed;

└─ pin-1 is not installable because it requires

└─ python 3.12.* , which conflicts with any installable versions previously reported.

(base) sibylles-mbp:~ sibyllestockli$ invest list

-bash: invest: command not found

(base) sibylles-mbp:~ sibyllestockli$ invest run --help

-bash: invest: command not found

(base) sibylles-mbp:~ sibyllestockli$

OK, so I think the key issue here is in the first line where conda doesn’t want to install python. My best guess here is that there is something incorrect about the double-quotes. Sometimes applications are very picky about double-quotes, where the character " is very different from and , and I think that’s messing up the package search.

So, if you copy-paste this line into your mac’s terminal application, I think this should work as expected:

conda create -n env-invest -c conda-forge "python=3.11" natcap.invest

Once that command runs correctly without an error message, then you should be able to activate the environment:

conda activate env-invest

And then once the environment is activated, you should be able to run invest:

invest --help

Many thanks James
InVEST python successfully installed on my MAC. Ah on the conda help they do not use brackets/double-quotes. So I changed the code.

Last login: Sat Aug 3 07:39:58 on ttys000
(base) sibylles-mbp:~ sibyllestockli$ conda create -n env-invest -c conda-forge “python=3.11” natcap.invest
WARNING: A conda environment already exists at ‘/opt/miniconda3/envs/env-invest’
Remove existing environment (y/[n])? y

Channels:

  • conda-forge
  • defaults
    Platform: osx-64
    Collecting package metadata (repodata.json): done
    Solving environment: done

Package Plan

environment location: /opt/miniconda3/envs/env-invest

added / updated specs:
- natcap.invest
- python=3.11

The following packages will be downloaded:

package                    |            build
---------------------------|-----------------
appdirs-1.4.4              |     pyh9f0ad1d_0          13 KB  conda-forge
babel-2.14.0               |     pyhd8ed1ab_0         7.3 MB  conda-forge
blinker-1.8.2              |     pyhd8ed1ab_0          14 KB  conda-forge
blosc-1.21.6               |       h7d75f6d_0          46 KB  conda-forge
boost-cpp-1.78.0           |       hf5ba120_3        14.6 MB  conda-forge
brotli-python-1.1.0        |  py311hdf8f085_1         358 KB  conda-forge
bzip2-1.0.8                |       hfdf4475_7         131 KB  conda-forge
c-ares-1.32.3              |       h51dda26_0         157 KB  conda-forge
ca-certificates-2024.7.4   |       h8857fd0_0         151 KB  conda-forge
cairo-1.16.0               |    h09dd18c_1016         929 KB  conda-forge
certifi-2024.7.4           |     pyhd8ed1ab_0         156 KB  conda-forge
cffi-1.16.0                |  py311hc0b63fd_0         283 KB  conda-forge
cfitsio-4.2.0              |       hd56cc12_0         824 KB  conda-forge
chardet-5.2.0              |  py311h6eed73b_1         261 KB  conda-forge
charset-normalizer-3.3.2   |     pyhd8ed1ab_0          46 KB  conda-forge
click-8.1.7                |unix_pyh707e725_0          82 KB  conda-forge
curl-8.4.0                 |       h726d00d_0         150 KB  conda-forge
cython-0.29.37             |  py311hdd0406b_0         2.3 MB  conda-forge
et_xmlfile-1.1.0           |     pyhd8ed1ab_0          10 KB  conda-forge
expat-2.6.2                |       h73e2aa4_0         124 KB  conda-forge
flask-3.0.3                |     pyhd8ed1ab_0          79 KB  conda-forge
flask_cors-4.0.0           |     pyhd8ed1ab_0          17 KB  conda-forge
flexcache-0.3              |     pyhd8ed1ab_0          16 KB  conda-forge
flexparser-0.3.1           |     pyhd8ed1ab_0          28 KB  conda-forge
font-ttf-dejavu-sans-mono-2.37|       hab24e00_0         388 KB  conda-forge
font-ttf-inconsolata-3.000 |       h77eed37_0          94 KB  conda-forge
font-ttf-source-code-pro-2.038|       h77eed37_0         684 KB  conda-forge
font-ttf-ubuntu-0.83       |       h77eed37_2         1.5 MB  conda-forge
fontconfig-2.14.2          |       h5bb23bf_0         232 KB  conda-forge
fonts-conda-ecosystem-1    |                0           4 KB  conda-forge
fonts-conda-forge-1        |                0           4 KB  conda-forge
freetype-2.12.1            |       h60636b9_2         585 KB  conda-forge
freexl-1.0.6               |       hb7f2c08_1          44 KB  conda-forge
gdal-3.5.3                 | py311hbae37f0_28         1.5 MB  conda-forge
geos-3.11.2                |       hf0c8a7f_0         1.2 MB  conda-forge
geotiff-1.7.1              |       h75a88c4_8         116 KB  conda-forge
gettext-0.22.5             |       h5ff76d1_2         470 KB  conda-forge
gettext-tools-0.22.5       |       h5ff76d1_2         2.4 MB  conda-forge
giflib-5.2.2               |       h10d778d_0          73 KB  conda-forge
h2-4.1.0                   |     pyhd8ed1ab_0          46 KB  conda-forge
hdf4-4.2.15                |       h9804679_6         708 KB  conda-forge
hdf5-1.14.0                |nompi_hbf0aa07_103         3.3 MB  conda-forge
hpack-4.0.0                |     pyh9f0ad1d_0          25 KB  conda-forge
hyperframe-6.0.1           |     pyhd8ed1ab_0          14 KB  conda-forge
icu-72.1                   |       h7336db1_0        11.1 MB  conda-forge
idna-3.7                   |     pyhd8ed1ab_0          51 KB  conda-forge
importlib-metadata-8.2.0   |     pyha770c72_0          27 KB  conda-forge
importlib_metadata-8.2.0   |       hd8ed1ab_0           9 KB  conda-forge
itsdangerous-2.2.0         |     pyhd8ed1ab_0          19 KB  conda-forge
jinja2-3.1.4               |     pyhd8ed1ab_0         109 KB  conda-forge
json-c-0.16                |       h01d06f9_0          71 KB  conda-forge
kealib-1.5.1               |       hde10d81_3         147 KB  conda-forge
krb5-1.21.2                |       hb884880_0         1.1 MB  conda-forge
lcms2-2.15                 |       h2dcdeff_1         222 KB  conda-forge
lerc-4.0.0                 |       hb486fe8_0         284 KB  conda-forge
libaec-1.1.3               |       h73e2aa4_0          28 KB  conda-forge
libasprintf-0.22.5         |       h5ff76d1_2          39 KB  conda-forge
libasprintf-devel-0.22.5   |       h5ff76d1_2          34 KB  conda-forge
libblas-3.9.0              |22_osx64_openblas          14 KB  conda-forge
libcblas-3.9.0             |22_osx64_openblas          14 KB  conda-forge
libcurl-8.4.0              |       h726d00d_0         357 KB  conda-forge
libcxx-18.1.8              |       hef8daea_2         1.2 MB  conda-forge
libdap4-3.20.6             |       h53e6dc5_4         1.5 MB  conda-forge
libdeflate-1.18            |       hac1461d_0          65 KB  conda-forge
libedit-3.1.20191231       |       h0678c8f_2         103 KB  conda-forge
libev-4.33                 |       h10d778d_2         104 KB  conda-forge
libexpat-2.6.2             |       h73e2aa4_0          68 KB  conda-forge
libffi-3.4.2               |       h0d85af4_5          50 KB  conda-forge
libgdal-3.5.3              |      hb0d652f_28         8.0 MB  conda-forge
libgettextpo-0.22.5        |       h5ff76d1_2         168 KB  conda-forge
libgettextpo-devel-0.22.5  |       h5ff76d1_2          36 KB  conda-forge
libgfortran-5.0.0          |13_2_0_h97931a8_3         108 KB  conda-forge
libgfortran5-13.2.0        |       h2873a65_3         1.5 MB  conda-forge
libglib-2.78.1             |       h6d9ecee_0         2.4 MB  conda-forge
libiconv-1.17              |       hd75f5a5_2         651 KB  conda-forge
libintl-0.22.5             |       h5ff76d1_2          73 KB  conda-forge
libintl-devel-0.22.5       |       h5ff76d1_2          38 KB  conda-forge
libjpeg-turbo-2.1.5.1      |       h0dc2134_1         446 KB  conda-forge
libkml-1.3.0               |    hfcbc525_1020         279 KB  conda-forge
liblapack-3.9.0            |22_osx64_openblas          14 KB  conda-forge
libnetcdf-4.9.2            |nompi_hf077d52_105         715 KB  conda-forge
libnghttp2-1.58.0          |       h64cf6d3_0         585 KB  conda-forge
libopenblas-0.3.27         |openmp_h8869122_1         5.8 MB  conda-forge
libpng-1.6.43              |       h92b6c6a_0         262 KB  conda-forge
libpq-15.4                 |       h3df487d_2         2.2 MB  conda-forge
librttopo-1.1.0            |      h5c328d2_13         209 KB  conda-forge
libspatialindex-2.0.0      |       hf036a51_0         302 KB  conda-forge
libspatialite-5.0.1        |      h8e1627f_26         2.9 MB  conda-forge
libsqlite-3.46.0           |       h1b8f9f3_0         887 KB  conda-forge
libssh2-1.11.0             |       hd019ec5_0         253 KB  conda-forge
libtiff-4.5.1              |       hf955e92_1         384 KB  conda-forge
libwebp-base-1.4.0         |       h10d778d_0         347 KB  conda-forge
libxml2-2.11.5             |       hd95e348_0         608 KB  conda-forge
libzip-1.10.1              |       hc158999_3         125 KB  conda-forge
libzlib-1.3.1              |       h87427d6_1          56 KB  conda-forge
llvm-openmp-18.1.8         |       h15ab845_0         294 KB  conda-forge
lz4-c-1.9.4                |       hf0c8a7f_0         153 KB  conda-forge
markupsafe-2.1.5           |  py311he705e18_0          26 KB  conda-forge
natcap.invest-3.14.1       |  py311ha853786_0         1.1 MB  conda-forge
ncurses-6.5                |       h5846eda_0         804 KB  conda-forge
nspr-4.35                  |       hea0b92c_0         225 KB  conda-forge
nss-3.103                  |       he7eb89d_0         1.8 MB  conda-forge
numpy-1.26.4               |  py311hc43a94b_0         7.2 MB  conda-forge
openjpeg-2.5.0             |       h13ac156_2         322 KB  conda-forge
openpyxl-3.1.4             |  py311h0d095cd_0         660 KB  conda-forge
openssl-3.1.6              |       h87427d6_0         2.2 MB  conda-forge
pandas-2.2.2               |  py311hfdcbad3_1        14.2 MB  conda-forge
pcre2-10.40                |       h1c4e4bc_0         2.4 MB  conda-forge
pint-0.24.3                |     pyhd8ed1ab_0         223 KB  conda-forge
pip-24.2                   |     pyhd8ed1ab_0         1.2 MB  conda-forge
pixman-0.43.4              |       h73e2aa4_0         316 KB  conda-forge
poppler-23.05.0            |       he041c3a_1         1.5 MB  conda-forge
poppler-data-0.4.12        |       hd8ed1ab_0         2.2 MB  conda-forge
postgresql-15.4            |       hc940a54_2         4.3 MB  conda-forge
proj-9.2.0                 |       hf909084_0         2.6 MB  conda-forge
psutil-6.0.0               |  py311h72ae277_0         505 KB  conda-forge
pycparser-2.22             |     pyhd8ed1ab_0         103 KB  conda-forge
pygeoprocessing-2.4.4      |  py311h46c8309_0         1.0 MB  conda-forge
pyro4-4.77                 |             py_0          66 KB  conda-forge
pysocks-1.7.1              |     pyha2e5f31_6          19 KB  conda-forge
python-3.11.6              |h30d4d87_0_cpython        14.7 MB  conda-forge
python-dateutil-2.9.0      |     pyhd8ed1ab_0         218 KB  conda-forge
python-tzdata-2024.1       |     pyhd8ed1ab_0         141 KB  conda-forge
python_abi-3.11            |          4_cp311           6 KB  conda-forge
pytz-2024.1                |     pyhd8ed1ab_0         184 KB  conda-forge
readline-8.2               |       h9e318b2_1         250 KB  conda-forge
requests-2.32.3            |     pyhd8ed1ab_0          57 KB  conda-forge
retrying-1.3.3             |     pyhd8ed1ab_3          16 KB  conda-forge
rtree-1.3.0                |  py311h9a530ed_1          69 KB  conda-forge
scipy-1.14.0               |  py311h40a1ab3_1        15.5 MB  conda-forge
serpent-1.41               |     pyhd8ed1ab_0          13 KB  conda-forge
setuptools-72.1.0          |     pyhd8ed1ab_0         1.4 MB  conda-forge
shapely-2.0.1              |  py311heb7bb94_1         459 KB  conda-forge
six-1.16.0                 |     pyh6c4a22f_0          14 KB  conda-forge
snappy-1.2.1               |       he1e6707_0          36 KB  conda-forge
sqlite-3.46.0              |       h28673e1_0         891 KB  conda-forge
taskgraph-0.11.1           |     pyhd8ed1ab_0          41 KB  conda-forge
tiledb-2.13.2              |       h8b9cbf0_0         4.4 MB  conda-forge
tk-8.6.13                  |       h1abcd95_1         3.1 MB  conda-forge
typing-extensions-4.12.2   |       hd8ed1ab_0          10 KB  conda-forge
typing_extensions-4.12.2   |     pyha770c72_0          39 KB  conda-forge
tzcode-2024a               |       h10d778d_0          62 KB  conda-forge
tzdata-2024a               |       h0c530f3_0         117 KB  conda-forge
uriparser-0.9.8            |       h6aefe2f_0          42 KB  conda-forge
urllib3-2.2.2              |     pyhd8ed1ab_1          93 KB  conda-forge
werkzeug-3.0.3             |     pyhd8ed1ab_0         237 KB  conda-forge
wheel-0.43.0               |     pyhd8ed1ab_1          57 KB  conda-forge
xerces-c-3.2.4             |       h90c7484_2         1.3 MB  conda-forge
xlrd-2.0.1                 |     pyhd8ed1ab_3          92 KB  conda-forge
xz-5.2.6                   |       h775f41a_0         233 KB  conda-forge
zipp-3.19.2                |     pyhd8ed1ab_0          20 KB  conda-forge
zlib-1.3.1                 |       h87427d6_1          87 KB  conda-forge
zstandard-0.23.0           |  py311h51fa951_0         403 KB  conda-forge
zstd-1.5.6                 |       h915ae27_0         487 KB  conda-forge
------------------------------------------------------------
                                       Total:       176.9 MB

The following NEW packages will be INSTALLED:

appdirs conda-forge/noarch::appdirs-1.4.4-pyh9f0ad1d_0
babel conda-forge/noarch::babel-2.14.0-pyhd8ed1ab_0
blinker conda-forge/noarch::blinker-1.8.2-pyhd8ed1ab_0
blosc conda-forge/osx-64::blosc-1.21.6-h7d75f6d_0
boost-cpp conda-forge/osx-64::boost-cpp-1.78.0-hf5ba120_3
brotli-python conda-forge/osx-64::brotli-python-1.1.0-py311hdf8f085_1
bzip2 conda-forge/osx-64::bzip2-1.0.8-hfdf4475_7
c-ares conda-forge/osx-64::c-ares-1.32.3-h51dda26_0
ca-certificates conda-forge/osx-64::ca-certificates-2024.7.4-h8857fd0_0
cairo conda-forge/osx-64::cairo-1.16.0-h09dd18c_1016
certifi conda-forge/noarch::certifi-2024.7.4-pyhd8ed1ab_0
cffi conda-forge/osx-64::cffi-1.16.0-py311hc0b63fd_0
cfitsio conda-forge/osx-64::cfitsio-4.2.0-hd56cc12_0
chardet conda-forge/osx-64::chardet-5.2.0-py311h6eed73b_1
charset-normalizer conda-forge/noarch::charset-normalizer-3.3.2-pyhd8ed1ab_0
click conda-forge/noarch::click-8.1.7-unix_pyh707e725_0
curl conda-forge/osx-64::curl-8.4.0-h726d00d_0
cython conda-forge/osx-64::cython-0.29.37-py311hdd0406b_0
et_xmlfile conda-forge/noarch::et_xmlfile-1.1.0-pyhd8ed1ab_0
expat conda-forge/osx-64::expat-2.6.2-h73e2aa4_0
flask conda-forge/noarch::flask-3.0.3-pyhd8ed1ab_0
flask_cors conda-forge/noarch::flask_cors-4.0.0-pyhd8ed1ab_0
flexcache conda-forge/noarch::flexcache-0.3-pyhd8ed1ab_0
flexparser conda-forge/noarch::flexparser-0.3.1-pyhd8ed1ab_0
font-ttf-dejavu-s~ conda-forge/noarch::font-ttf-dejavu-sans-mono-2.37-hab24e00_0
font-ttf-inconsol~ conda-forge/noarch::font-ttf-inconsolata-3.000-h77eed37_0
font-ttf-source-c~ conda-forge/noarch::font-ttf-source-code-pro-2.038-h77eed37_0
font-ttf-ubuntu conda-forge/noarch::font-ttf-ubuntu-0.83-h77eed37_2
fontconfig conda-forge/osx-64::fontconfig-2.14.2-h5bb23bf_0
fonts-conda-ecosy~ conda-forge/noarch::fonts-conda-ecosystem-1-0
fonts-conda-forge conda-forge/noarch::fonts-conda-forge-1-0
freetype conda-forge/osx-64::freetype-2.12.1-h60636b9_2
freexl conda-forge/osx-64::freexl-1.0.6-hb7f2c08_1
gdal conda-forge/osx-64::gdal-3.5.3-py311hbae37f0_28
geos conda-forge/osx-64::geos-3.11.2-hf0c8a7f_0
geotiff conda-forge/osx-64::geotiff-1.7.1-h75a88c4_8
gettext conda-forge/osx-64::gettext-0.22.5-h5ff76d1_2
gettext-tools conda-forge/osx-64::gettext-tools-0.22.5-h5ff76d1_2
giflib conda-forge/osx-64::giflib-5.2.2-h10d778d_0
h2 conda-forge/noarch::h2-4.1.0-pyhd8ed1ab_0
hdf4 conda-forge/osx-64::hdf4-4.2.15-h9804679_6
hdf5 conda-forge/osx-64::hdf5-1.14.0-nompi_hbf0aa07_103
hpack conda-forge/noarch::hpack-4.0.0-pyh9f0ad1d_0
hyperframe conda-forge/noarch::hyperframe-6.0.1-pyhd8ed1ab_0
icu conda-forge/osx-64::icu-72.1-h7336db1_0
idna conda-forge/noarch::idna-3.7-pyhd8ed1ab_0
importlib-metadata conda-forge/noarch::importlib-metadata-8.2.0-pyha770c72_0
importlib_metadata conda-forge/noarch::importlib_metadata-8.2.0-hd8ed1ab_0
itsdangerous conda-forge/noarch::itsdangerous-2.2.0-pyhd8ed1ab_0
jinja2 conda-forge/noarch::jinja2-3.1.4-pyhd8ed1ab_0
json-c conda-forge/osx-64::json-c-0.16-h01d06f9_0
kealib conda-forge/osx-64::kealib-1.5.1-hde10d81_3
krb5 conda-forge/osx-64::krb5-1.21.2-hb884880_0
lcms2 conda-forge/osx-64::lcms2-2.15-h2dcdeff_1
lerc conda-forge/osx-64::lerc-4.0.0-hb486fe8_0
libaec conda-forge/osx-64::libaec-1.1.3-h73e2aa4_0
libasprintf conda-forge/osx-64::libasprintf-0.22.5-h5ff76d1_2
libasprintf-devel conda-forge/osx-64::libasprintf-devel-0.22.5-h5ff76d1_2
libblas conda-forge/osx-64::libblas-3.9.0-22_osx64_openblas
libcblas conda-forge/osx-64::libcblas-3.9.0-22_osx64_openblas
libcurl conda-forge/osx-64::libcurl-8.4.0-h726d00d_0
libcxx conda-forge/osx-64::libcxx-18.1.8-hef8daea_2
libdap4 conda-forge/osx-64::libdap4-3.20.6-h53e6dc5_4
libdeflate conda-forge/osx-64::libdeflate-1.18-hac1461d_0
libedit conda-forge/osx-64::libedit-3.1.20191231-h0678c8f_2
libev conda-forge/osx-64::libev-4.33-h10d778d_2
libexpat conda-forge/osx-64::libexpat-2.6.2-h73e2aa4_0
libffi conda-forge/osx-64::libffi-3.4.2-h0d85af4_5
libgdal conda-forge/osx-64::libgdal-3.5.3-hb0d652f_28
libgettextpo conda-forge/osx-64::libgettextpo-0.22.5-h5ff76d1_2
libgettextpo-devel conda-forge/osx-64::libgettextpo-devel-0.22.5-h5ff76d1_2
libgfortran conda-forge/osx-64::libgfortran-5.0.0-13_2_0_h97931a8_3
libgfortran5 conda-forge/osx-64::libgfortran5-13.2.0-h2873a65_3
libglib conda-forge/osx-64::libglib-2.78.1-h6d9ecee_0
libiconv conda-forge/osx-64::libiconv-1.17-hd75f5a5_2
libintl conda-forge/osx-64::libintl-0.22.5-h5ff76d1_2
libintl-devel conda-forge/osx-64::libintl-devel-0.22.5-h5ff76d1_2
libjpeg-turbo conda-forge/osx-64::libjpeg-turbo-2.1.5.1-h0dc2134_1
libkml conda-forge/osx-64::libkml-1.3.0-hfcbc525_1020
liblapack conda-forge/osx-64::liblapack-3.9.0-22_osx64_openblas
libnetcdf conda-forge/osx-64::libnetcdf-4.9.2-nompi_hf077d52_105
libnghttp2 conda-forge/osx-64::libnghttp2-1.58.0-h64cf6d3_0
libopenblas conda-forge/osx-64::libopenblas-0.3.27-openmp_h8869122_1
libpng conda-forge/osx-64::libpng-1.6.43-h92b6c6a_0
libpq conda-forge/osx-64::libpq-15.4-h3df487d_2
librttopo conda-forge/osx-64::librttopo-1.1.0-h5c328d2_13
libspatialindex conda-forge/osx-64::libspatialindex-2.0.0-hf036a51_0
libspatialite conda-forge/osx-64::libspatialite-5.0.1-h8e1627f_26
libsqlite conda-forge/osx-64::libsqlite-3.46.0-h1b8f9f3_0
libssh2 conda-forge/osx-64::libssh2-1.11.0-hd019ec5_0
libtiff conda-forge/osx-64::libtiff-4.5.1-hf955e92_1
libwebp-base conda-forge/osx-64::libwebp-base-1.4.0-h10d778d_0
libxml2 conda-forge/osx-64::libxml2-2.11.5-hd95e348_0
libzip conda-forge/osx-64::libzip-1.10.1-hc158999_3
libzlib conda-forge/osx-64::libzlib-1.3.1-h87427d6_1
llvm-openmp conda-forge/osx-64::llvm-openmp-18.1.8-h15ab845_0
lz4-c conda-forge/osx-64::lz4-c-1.9.4-hf0c8a7f_0
markupsafe conda-forge/osx-64::markupsafe-2.1.5-py311he705e18_0
natcap.invest conda-forge/osx-64::natcap.invest-3.14.1-py311ha853786_0
ncurses conda-forge/osx-64::ncurses-6.5-h5846eda_0
nspr conda-forge/osx-64::nspr-4.35-hea0b92c_0
nss conda-forge/osx-64::nss-3.103-he7eb89d_0
numpy conda-forge/osx-64::numpy-1.26.4-py311hc43a94b_0
openjpeg conda-forge/osx-64::openjpeg-2.5.0-h13ac156_2
openpyxl conda-forge/osx-64::openpyxl-3.1.4-py311h0d095cd_0
openssl conda-forge/osx-64::openssl-3.1.6-h87427d6_0
pandas conda-forge/osx-64::pandas-2.2.2-py311hfdcbad3_1
pcre2 conda-forge/osx-64::pcre2-10.40-h1c4e4bc_0
pint conda-forge/noarch::pint-0.24.3-pyhd8ed1ab_0
pip conda-forge/noarch::pip-24.2-pyhd8ed1ab_0
pixman conda-forge/osx-64::pixman-0.43.4-h73e2aa4_0
poppler conda-forge/osx-64::poppler-23.05.0-he041c3a_1
poppler-data conda-forge/noarch::poppler-data-0.4.12-hd8ed1ab_0
postgresql conda-forge/osx-64::postgresql-15.4-hc940a54_2
proj conda-forge/osx-64::proj-9.2.0-hf909084_0
psutil conda-forge/osx-64::psutil-6.0.0-py311h72ae277_0
pycparser conda-forge/noarch::pycparser-2.22-pyhd8ed1ab_0
pygeoprocessing conda-forge/osx-64::pygeoprocessing-2.4.4-py311h46c8309_0
pyro4 conda-forge/noarch::pyro4-4.77-py_0
pysocks conda-forge/noarch::pysocks-1.7.1-pyha2e5f31_6
python conda-forge/osx-64::python-3.11.6-h30d4d87_0_cpython
python-dateutil conda-forge/noarch::python-dateutil-2.9.0-pyhd8ed1ab_0
python-tzdata conda-forge/noarch::python-tzdata-2024.1-pyhd8ed1ab_0
python_abi conda-forge/osx-64::python_abi-3.11-4_cp311
pytz conda-forge/noarch::pytz-2024.1-pyhd8ed1ab_0
readline conda-forge/osx-64::readline-8.2-h9e318b2_1
requests conda-forge/noarch::requests-2.32.3-pyhd8ed1ab_0
retrying conda-forge/noarch::retrying-1.3.3-pyhd8ed1ab_3
rtree conda-forge/osx-64::rtree-1.3.0-py311h9a530ed_1
scipy conda-forge/osx-64::scipy-1.14.0-py311h40a1ab3_1
serpent conda-forge/noarch::serpent-1.41-pyhd8ed1ab_0
setuptools conda-forge/noarch::setuptools-72.1.0-pyhd8ed1ab_0
shapely conda-forge/osx-64::shapely-2.0.1-py311heb7bb94_1
six conda-forge/noarch::six-1.16.0-pyh6c4a22f_0
snappy conda-forge/osx-64::snappy-1.2.1-he1e6707_0
sqlite conda-forge/osx-64::sqlite-3.46.0-h28673e1_0
taskgraph conda-forge/noarch::taskgraph-0.11.1-pyhd8ed1ab_0
tiledb conda-forge/osx-64::tiledb-2.13.2-h8b9cbf0_0
tk conda-forge/osx-64::tk-8.6.13-h1abcd95_1
typing-extensions conda-forge/noarch::typing-extensions-4.12.2-hd8ed1ab_0
typing_extensions conda-forge/noarch::typing_extensions-4.12.2-pyha770c72_0
tzcode conda-forge/osx-64::tzcode-2024a-h10d778d_0
tzdata conda-forge/noarch::tzdata-2024a-h0c530f3_0
uriparser conda-forge/osx-64::uriparser-0.9.8-h6aefe2f_0
urllib3 conda-forge/noarch::urllib3-2.2.2-pyhd8ed1ab_1
werkzeug conda-forge/noarch::werkzeug-3.0.3-pyhd8ed1ab_0
wheel conda-forge/noarch::wheel-0.43.0-pyhd8ed1ab_1
xerces-c conda-forge/osx-64::xerces-c-3.2.4-h90c7484_2
xlrd conda-forge/noarch::xlrd-2.0.1-pyhd8ed1ab_3
xz conda-forge/osx-64::xz-5.2.6-h775f41a_0
zipp conda-forge/noarch::zipp-3.19.2-pyhd8ed1ab_0
zlib conda-forge/osx-64::zlib-1.3.1-h87427d6_1
zstandard conda-forge/osx-64::zstandard-0.23.0-py311h51fa951_0
zstd conda-forge/osx-64::zstd-1.5.6-h915ae27_0

Proceed ([y]/n)? y

Downloading and Extracting Packages:

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

To activate this environment, use

$ conda activate env-invest

To deactivate an active environment, use

$ conda deactivate

(base) sibylles-mbp:~ sibyllestockli$ conda activate env-invest
(env-invest) sibylles-mbp:~ sibyllestockli$ invest --help
usage: invest [-h] [–version] [-v | --debug]
[–taskgraph-log-level {DEBUG,INFO,WARNING,ERROR}] [-L {en,es,zh}]
{list,run,validate,getspec,serve,export-py} …

Integrated Valuation of Ecosystem Services and Tradeoffs. InVEST (Integrated Valuation
of Ecosystem Services and Tradeoffs) is a family of tools for quantifying the values of
natural capital in clear, credible, and practical ways. In promising a return (of
societal benefits) on investments in nature, the scientific community needs to deliver
knowledge and tools to quantify and forecast this return. InVEST enables decision-
makers to quantify the importance of natural capital, to assess the tradeoffs
associated with alternative choices, and to integrate conservation and human
development. Older versions of InVEST ran as script tools in the ArcGIS ArcToolBox
environment, but have almost all been ported over to a purely open-source python
environment.

positional arguments:
{list,run,validate,getspec,serve,export-py}
list List the available InVEST models
run Run an InVEST model
validate Validate the parameters of a datastack
getspec Get the specification of a model.
serve Start the flask app on the localhost.
export-py Save a python script that executes a model.

options:
-h, --help show this help message and exit
–version show program’s version number and exit
-v, --verbose Increase verbosity. Affects how much logging is printed to the
console and (if running in headless mode) how much is written
to the logfile.
–debug Enable debug logging. Alias for -vvv
–taskgraph-log-level {DEBUG,INFO,WARNING,ERROR}
Set the logging level for Taskgraph. Affects how much logging
Taskgraph prints to the console and (if running in headless
mode) how much is written to the logfile.
-L {en,es,zh}, --language {en,es,zh}
Choose a language. Model specs, names, and validation messages
will be translated. Log messages are not translated. Value
should be an ISO 639-1 language code. Supported options are: en
(English), es (español), zh (中文).
(env-invest) sibylles-mbp:~ sibyllestockli$ invest list
Available models:
annual_water_yield (hwy, awy) Annual Water Yield
carbon Carbon Storage and Sequestration
coastal_blue_carbon (cbc) Coastal Blue Carbon
coastal_blue_carbon_preprocessor (cbc_pre) Coastal Blue Carbon Preprocessor
coastal_vulnerability (cv) Coastal Vulnerability
crop_production_percentile (cpp) Crop Production: Percentile
crop_production_regression (cpr) Crop Production: Regression
delineateit DelineateIt
forest_carbon_edge_effect (fc) Forest Carbon Edge Effect
habitat_quality (hq) Habitat Quality
habitat_risk_assessment (hra) Habitat Risk Assessment
ndr Nutrient Delivery Ratio
pollination Crop Pollination
recreation Visitation: Recreation and Tourism
routedem RouteDEM
scenario_generator_proximity (sgp) Scenario Generator: Proximity Based
scenic_quality (sq) Scenic Quality
sdr Sediment Delivery Ratio
seasonal_water_yield (swy) Seasonal Water Yield
stormwater Urban Stormwater Retention
urban_cooling_model (ucm) Urban Cooling
urban_flood_risk_mitigation (ufrm) Urban Flood Risk Mitigation
urban_nature_access (una) Urban Nature Access
wave_energy Wave Energy Production
wind_energy Wind Energy Production
(env-invest) sibylles-mbp:~ sibyllestockli$

That all looks normal to me, congratulations on the successful installation! Yes, quotes can be pretty fiddly, and even more so now that most terminals support unicode characters. I suppose quotes might not have been strictly necessary in this case because of the use of =, but there are other times where quotes are absolutely necessary, like when defining a version cap such as "python<3.12". If quotes weren’t provided, the < would be interpreted by the shell as input redirection and lead to some unexpected behavior.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.