sunpy: Using sunpy.map shouldn't require remote access libraries (e.g. aiohttp)
I am trying to create a frozen and minimal python environment for some code I run daily to output synoptic maps and magnetic connection predictions. Installing dependencies is fine - I can just use pip install --no-deps to ignore sunpy’s (extensive) list of dependencies that I don’t actually need.
Doing import sunpy.map however reveals a dependency on aiohttp that I don’t really want to have to install however. I am wondering if there is a way to remove this runtime dependency?
Traceback (most recent call last):
File "main.py", line 17, in <module>
import pfsspy
File "/Users/dstansby/miniconda3/envs/connection/lib/python3.8/site-packages/pfsspy/__init__.py", line 13, in <module>
import sunpy.map
File "/Users/dstansby/miniconda3/envs/connection/lib/python3.8/site-packages/sunpy/map/__init__.py", line 8, in <module>
from sunpy.map import sources
File "/Users/dstansby/miniconda3/envs/connection/lib/python3.8/site-packages/sunpy/map/sources/__init__.py", line 12, in <module>
from ..map_factory import Map
File "/Users/dstansby/miniconda3/envs/connection/lib/python3.8/site-packages/sunpy/map/map_factory.py", line 14, in <module>
from sunpy.data import cache
File "/Users/dstansby/miniconda3/envs/connection/lib/python3.8/site-packages/sunpy/data/__init__.py", line 5, in <module>
from sunpy.data._sample import download_sample_data
File "/Users/dstansby/miniconda3/envs/connection/lib/python3.8/site-packages/sunpy/data/_sample.py", line 7, in <module>
from sunpy.util.parfive_helpers import Downloader
File "/Users/dstansby/miniconda3/envs/connection/lib/python3.8/site-packages/sunpy/util/parfive_helpers.py", line 4, in <module>
import aiohttp
ModuleNotFoundError: No module named 'aiohttp'
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 20 (20 by maintainers)
I think this counts as a bug.
Making
from sunpy.data import cachenot trigger the sample data should the angle here, someone will have to work out that init path and change it.