Import error when installed from PyPI as a non-dev
Hi all,
The actual version in PyPI (v2.3.0) gives an error if you install py_wake
as a non-developer.
----> 1 import py_wake
File ~\Miniconda3\envs\pywake\lib\site-packages\py_wake\__init__.py:7, in <module>
1 """PyWake
2
3 An open source wind farm simulation tool capable of calculating wind farm flow fields,
4 power production and annual energy production (AEP) of wind farms.
5 """
6 import pkg_resources
----> 7 from .deficit_models.noj import NOJ, NOJLocal
8 from .deficit_models.fuga import Fuga, FugaBlockage
9 from .deficit_models.gaussian import BastankhahGaussian, IEA37SimpleBastankhahGaussian
File ~\Miniconda3\envs\pywake\lib\site-packages\py_wake\deficit_models\__init__.py:8, in <module>
6 from .vortexdipole import VortexDipole
7 from .rathmann import Rathmann
----> 8 from .noj import NOJDeficit, NOJLocalDeficit, TurboNOJDeficit
9 from .gaussian import BastankhahGaussianDeficit, IEA37SimpleBastankhahGaussianDeficit, \
10 NiayifarGaussianDeficit, ZongGaussianDeficit, CarbajofuertesGaussianDeficit, TurboGaussianDeficit
11 from .fuga import FugaDeficit, FugaYawDeficit
File ~\Miniconda3\envs\pywake\lib\site-packages\py_wake\deficit_models\noj.py:5, in <module>
3 from py_wake.ground_models.ground_models import NoGround
4 from py_wake.superposition_models import SquaredSum, LinearSum
----> 5 from py_wake.wind_farm_models.engineering_models import PropagateDownwind
6 from py_wake.utils.area_overlapping_factor import AreaOverlappingFactor
7 from py_wake.rotor_avg_models.rotor_avg_model import RotorCenter
File ~\Miniconda3\envs\pywake\lib\site-packages\py_wake\wind_farm_models\__init__.py:1, in <module>
----> 1 from .engineering_models import PropagateDownwind, All2AllIterative
2 from .wind_farm_model import WindFarmModel
File ~\Miniconda3\envs\pywake\lib\site-packages\py_wake\wind_farm_models\engineering_models.py:5, in <module>
3 import numpy as np
4 from py_wake.superposition_models import SuperpositionModel, LinearSum, WeightedSum
----> 5 from py_wake.wind_farm_models.wind_farm_model import WindFarmModel
6 from py_wake.deflection_models.deflection_model import DeflectionModel
7 from py_wake.utils.gradients import autograd, cabs
File ~\Miniconda3\envs\pywake\lib\site-packages\py_wake\wind_farm_models\wind_farm_model.py:3, in <module>
1 from abc import abstractmethod, ABC
2 from py_wake.site._site import Site, UniformSite, UniformWeibullSite, LocalWind
----> 3 from py_wake.wind_turbines import WindTurbines
4 import numpy as np
5 from py_wake.flow_map import FlowMap, HorizontalGrid, FlowBox, YZGrid, Grid, Points
File ~\Miniconda3\envs\pywake\lib\site-packages\py_wake\wind_turbines\__init__.py:1, in <module>
----> 1 from ._wind_turbines import WindTurbines, WindTurbine
2 from .wind_turbines_deprecated import DeprecatedOneTypeWindTurbines as OneTypeWindTurbines
File ~\Miniconda3\envs\pywake\lib\site-packages\py_wake\wind_turbines\_wind_turbines.py:6, in <module>
4 import warnings
5 import inspect
----> 6 from py_wake.wind_turbines.power_ct_functions import PowerCtFunctionList, PowerCtTabular, SimpleYawModel, CubePowerSimpleCt
7 from xarray.core.dataarray import DataArray
10 class WindTurbines():
File ~\Miniconda3\envs\pywake\lib\site-packages\py_wake\wind_turbines\power_ct_functions.py:7, in <module>
4 from autograd.core import defvjp, primitive
5 from py_wake.wind_turbines.wind_turbine_functions import WindTurbineFunction, FunctionSurrogates,\
6 WindTurbineFunctionList
----> 7 from py_wake.utils.check_input import check_input
8 from py_wake.utils.model_utils import check_model, fix_shape
9 from py_wake.utils import gradients
File ~\Miniconda3\envs\pywake\lib\site-packages\py_wake\utils\check_input.py:2, in <module>
1 import numpy as np
----> 2 import pytest
5 def check_input(input_space_lst, input_lst, input_keys=None):
6 if input_keys is None:
ModuleNotFoundError: No module named 'pytest'
I see this is already fixed in master
:
https://gitlab.windenergy.dtu.dk/TOPFARM/PyWake/-/blob/v2.3.0/py_wake/utils/check_input.py#L2
It would be nice to have a v2.3.1 on PyPI including this change (removing pytest
import in the previous link) or updating setup.py to include pytest
in the non-developer install.
This import
error could be discouraging for new users.
Thanks.