environment.yml to specify python>=3.5 and python<3.10
danhamill opened this issue · 1 comments
danhamill commented
Today I created the metsim environment from the .yml file in this repo and anaconda chose python version 3.10.
When you try and import from metsim import MetSim
you get the following import error:
ImportError Traceback (most recent call last)
c:\workspace\Chinle\scripts\metsim.ipynb Cell 2' in <cell line: 6>()
[4](vscode-notebook-cell:/c%3A/workspace/Chinle/scripts/metsim.ipynb#ch0000000?line=3) from shapely.geometry import mapping
[5](vscode-notebook-cell:/c%3A/workspace/Chinle/scripts/metsim.ipynb#ch0000000?line=4) import geopandas as gpd
----> [6](vscode-notebook-cell:/c%3A/workspace/Chinle/scripts/metsim.ipynb#ch0000000?line=5) from metsim import MetSim
[7](vscode-notebook-cell:/c%3A/workspace/Chinle/scripts/metsim.ipynb#ch0000000?line=6) from core.utils import Load_Environment
[8](vscode-notebook-cell:/c%3A/workspace/Chinle/scripts/metsim.ipynb#ch0000000?line=7) cur_dir = Load_Environment().cur_dir
File C:\Anaconda3\envs\metsim\lib\site-packages\metsim\__init__.py:5, in <module>
[1](file:///c%3A/Anaconda3/envs/metsim/lib/site-packages/metsim/__init__.py?line=0) """
[2](file:///c%3A/Anaconda3/envs/metsim/lib/site-packages/metsim/__init__.py?line=1) MetSim global module
[3](file:///c%3A/Anaconda3/envs/metsim/lib/site-packages/metsim/__init__.py?line=2) """
----> [5](file:///c%3A/Anaconda3/envs/metsim/lib/site-packages/metsim/__init__.py?line=4) from .metsim import MetSim
[7](file:///c%3A/Anaconda3/envs/metsim/lib/site-packages/metsim/__init__.py?line=6) from ._version import get_versions
[8](file:///c%3A/Anaconda3/envs/metsim/lib/site-packages/metsim/__init__.py?line=7) __version__ = get_versions()['version']
File C:\Anaconda3\envs\metsim\lib\site-packages\metsim\metsim.py:38, in <module>
[36](file:///c%3A/Anaconda3/envs/metsim/lib/site-packages/metsim/metsim.py?line=35) import warnings
[37](file:///c%3A/Anaconda3/envs/metsim/lib/site-packages/metsim/metsim.py?line=36) import time as tm
---> [38](file:///c%3A/Anaconda3/envs/metsim/lib/site-packages/metsim/metsim.py?line=37) from collections import Iterable, OrderedDict
[39](file:///c%3A/Anaconda3/envs/metsim/lib/site-packages/metsim/metsim.py?line=38) from getpass import getuser
[41](file:///c%3A/Anaconda3/envs/metsim/lib/site-packages/metsim/metsim.py?line=40) import numpy as np
ImportError: cannot import name 'Iterable' from 'collections' (C:\Anaconda3\envs\metsim\lib\collections\__init__.py)
Apparently Iterable
has moved to collections.abc
in python 3.10
It would be nice if you could edit the environment.yml
to specify python>3.5
and python<3.10
.
arbennett commented
Hi @danhamill - thanks for filing this issue! Instead of limiting the python version to be <3.10 I've fixed the import so that it should work for any version of python >3.0. Let me know if this is still an issue, otherwise I'll close this one for now!