pythonpython-3.xpython-2.7anacondafipy

What is the best way to install fipy with anaconda?


What is the best way to install fipy with anaconda3 (in a ubuntu 16.04 machine)?
I have tried conda create --name FIPY --channel conda-forge python=3 fipy numpy scipy matplotlib pysparse gmsh but the results in a lot of conflicts like this:

Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: - 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                               

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package libstdcxx-ng conflicts for:
numpy -> python[version='>=3.8,<3.9.0a0'] -> libstdcxx-ng[version='>=7.2.0|>=9.3.0']
matplotlib -> libstdcxx-ng[version='>=7.2.0|>=7.3.0']
gmsh -> libstdcxx-ng[version='>=10.3.0|>=12|>=9.4.0|>=9.3.0|>=7.5.0|>=7.3.0']
gmsh -> libglu -> libstdcxx-ng[version='>=4.9|>=7.2.0']
pysparse -> numpy[version='>=1.9.3,<2.0a0'] -> libstdcxx-ng[version='>=10.3.0|>=12|>=9.4.0|>=7.3.0|>=4.9|>=11.2.0|>=7.5.0|>=7.2.0']
scipy -> libstdcxx-ng[version='>=10.3.0|>=12|>=9.4.0|>=9.3.0|>=7.5.0|>=7.3.0|>=4.9|>=11.2.0|>=7.2.0']
numpy -> libstdcxx-ng[version='>=10.3.0|>=12|>=9.4.0|>=7.3.0|>=4.9|>=11.2.0|>=7.5.0']
python=3 -> libstdcxx-ng[version='>=11.2.0|>=4.9|>=7.3.0|>=7.5.0|>=9.3.0|>=9.4.0|>=7.2.0']
matplotlib -> matplotlib-base[version='>=3.6.0,<3.6.1.0a0'] -> libstdcxx-ng[version='>=10.3.0|>=12|>=7.5.0|>=4.9|>=11.2.0|>=9.3.0|>=9.4.0']
fipy -> matplotlib-base -> libstdcxx-ng[version='>=10.3.0|>=12|>=9.4.0|>=9.3.0|>=7.5.0|>=7.3.0|>=11.2.0|>=4.9|>=7.2.0']

Package python conflicts for:
pysparse -> numpy[version='>=1.9.3,<2.0a0'] -> python[version='2.7.*|3.5.*|3.6.*|>=3.10,<3.11.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*']
scipy -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*']
python=3
numpy -> python_abi=3.8[build=*_cp38] -> python[version='3.10.*|3.8.*|3.9.*|3.7.*']
fipy -> future -> python[version='2.7.*|3.4.*|3.5.*|3.6.*|>=3.5,<3.6.0a0|>=3.6|>=2.7|3.7.*|3.10.*|3.8.*|3.9.*']
numpy -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|3.4.*']
scipy -> python_abi=3.8[build=*_cp38] -> python[version='3.10.*|3.8.*|3.9.*|3.7.*']
matplotlib -> pyqt -> python[version='3.10.*|3.6.*|3.9.*|3.8.*|3.7.*|>=3.6|>=3.0,<=3.9|>=3|>=3.8|<3']
matplotlib -> python[version='2.7.*|3.4.*|3.5.*|>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.9,<3.10.0a0|>=3.8,<3.9.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0']
fipy -> python[version='>=2.7,<2.8.0a0|>=3.10,<3.11.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0|>=3.9,<3.10.0a0|>=3.6,<3.7.0a0']
pysparse -> python[version='>=2.7,<2.8.0a0'] 

Now conda activate FIPY gives me

Could not find conda environment: FIPY
You can list all discoverable environments with `conda info --envs`.

Is it better to create an environment with python 2.7 for fipy? Thanks in advance!

----------------- EDIT -----------------

Apart from the answer posted by jaguyer, it seems the anaconda prescribed way of installing fipy also works out (at least in my case - ubuntu 16.04, python 3.x in conda base). I will write the steps here:

  1. Create a new environment by conda create -n <environment name> e.g., conda create -n fipy
  2. Activate the environment by conda activate fipy
  3. Install fipy in the new env from conda-forge conda install -c conda-forge fipy

Just entering conda install -c conda-forge fipy in the anaconda base environment did not work for me resulting in: Solving environment: | Found conflicts! Looking for incompatible packages. Hope this helps!


Solution

  • Per the link you posted, FiPy should be installed with

    conda create --name <MYFIPYENV> --channel conda-forge python=<PYTHONVERSION> fipy gmsh
    

    Everything else on that page are for various edge cases. The particular combination of packages you posted are for Windows and, in fact, include a typo. Pysparse is not compatible with Python 3.

    It is not better to create an environment with Python 2.7.