neptune-ai / open-solution-mapping-challenge

Open solution to the Mapping Challenge :earth_americas:
https://www.crowdai.org/challenges/mapping-challenge
MIT License
377 stars 96 forks source link

Pip subprocess error related to pycocotools when running 'source Makefile' #237

Closed data-overload closed 3 years ago

data-overload commented 3 years ago

I am using Google Colab with conda installed. Colab runs on python3.7. I'm following the reproduce results guide and I run into this error when I run the makefile, any help is appreciated.

''' ... Collecting cython==0.28.2 (from -r /content/open-solution-mapping-challenge/condaenv.896pb0aa.requirements.txt (line 15)) Downloading https://files.pythonhosted.org/packages/19/eb/c4d9f3beafd5ac0615936860bcee41d93ca58f8734a16715da0037d2c468/Cython-0.28.2-cp36-cp36m-manylinux1_x86_64.whl (3.4MB) Collecting pycocotools==2.0.0 (from -r /content/open-solution-mapping-challenge/condaenv.896pb0aa.requirements.txt (line 16)) Downloading https://files.pythonhosted.org/packages/96/84/9a07b1095fd8555ba3f3d519517c8743c2554a245f9476e5e39869f948d2/pycocotools-2.0.0.tar.gz (1.5MB)

Pip subprocess error: Running command git clone -q https://github.com/lucasb-eyer/pydensecrf.git /tmp/pip-req-build-2_geeond ERROR: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-4nrybz_2/pycocotools/

CondaEnvException: Pip failed '''

data-overload commented 3 years ago

I fixed the original issue by using conda with python3.6 in addition to changing environment.yml such that pycocotools is 2.0.2 instead of 2.0.0.

However, now neptune/tiffile are asking for python >=3.7 which is a complete contradiction to the past dependencies? (handful previous wheels installed are cp36, and python is set to 3.6.8 in environment.yml)

image

data-overload commented 3 years ago

Alright I think I solved the above issue by adding scikit-learn=0.19 in environment.yml and also specifying scikit-image=0.14.2. I also had to remove github.com/luacasb-eyer/pydensecrf.git from environment.yml and pip install it after activating the mapping environment. Here is what my environment.yml looked like in the end:

name: mapping

dependencies: