Я пытаюсь обратиться к документации по windpowerlib (https://windpowerlib.readthedocs.io/en/stable/getting_started.html#examplereference-label) и использую образец скрипта Python и пример файла данных о погоде. Я создал новую виртуальную среду в Anaconda 3 под названием windproject1
и установил windpowerlib
в этом каталоге через pip
.
Я выполняю пример кода в PyCharm Community Edition 2018.1, доступный по вышеуказанной ссылке, который не компилируется успешно. Я упоминаю 2 метода, которые, вероятно, вызывают ошибкув соответствии со стэк-следом ниже: -
def initialise_wind_turbines():
r"""
Initialises two :class:`~.wind_turbine.WindTurbine` objects.
Function shows two ways to initialise a WindTurbine object. You can either
specify your own turbine, as done below for 'myTurbine', or fetch power
and/or power coefficient curve data from data files provided by the
windpowerlib, as done for the 'enerconE126'.
Execute ``windpowerlib.wind_turbine.get_turbine_types()`` or
``windpowerlib.wind_turbine.get_turbine_types(
filename='power_coefficient_curves.csv')`` to get a list of all wind
turbines for which power and power coefficient curves respectively are
provided.
Returns
-------
Tuple (WindTurbine, WindTurbine)
"""
# specification of own wind turbine (Note: power coefficient values and
# nominal power have to be in Watt)
myTurbine = {
'turbine_name': 'myTurbine',
'nominal_power': 3e6, # in W
'hub_height': 105, # in m
'rotor_diameter': 90, # in m
'power_curve': pd.DataFrame(
data={'values': [p * 1000 for p in [
0.0, 26.0, 180.0, 1500.0, 3000.0, 3000.0]], # in W
'wind_speed': [0.0, 3.0, 5.0, 10.0, 15.0, 25.0]}) # in m/s
}
# initialise WindTurbine object
my_turbine = WindTurbine(**myTurbine)
# specification of wind turbine where power curve is provided
# if you want to use the power coefficient curve add
# {'fetch_curve': 'power_coefficient_curve'} to the dictionary
enerconE126 = {
'turbine_name': 'ENERCON E 126 7500', # turbine name as in register
'hub_height': 135, # in m
'rotor_diameter': 127 # in m
}
# initialise WindTurbine object
e126 = WindTurbine(**enerconE126)
return my_turbine, e126
def run_basic_example():
r"""
Run the basic example.
"""
weather = get_weather_data('weather.csv')
my_turbine, e126 = initialise_wind_turbines()
calculate_power_output(weather, my_turbine, e126)
plot_or_print(my_turbine, e126)
if __name__ == "__main__":
run_basic_example()
Но я не могу скомпилировать его успешно. Я получаю ошибки, как видно из трассировки стека ниже: -
/Users/joyjitchatterjee/anaconda3/envs/windproject1/bin/python /Users/joyjitchatterjee/Desktop/windAnalysis/test.py
Traceback (most recent call last):
File "/Users/joyjitchatterjee/Desktop/windAnalysis/test.py", line 243, in <module>
run_basic_example()
File "/Users/joyjitchatterjee/Desktop/windAnalysis/test.py", line 237, in run_basic_example
my_turbine, e126 = initialise_wind_turbines()
File "/Users/joyjitchatterjee/Desktop/windAnalysis/test.py", line 111, in initialise_wind_turbines
my_turbine = WindTurbine(**myTurbine)
TypeError: __init__() got an unexpected keyword argument 'name'
Process finished with exit code 1
Ключевая вещь дляупомяну здесь, что у меня на рабочем столе есть папка (/Users/joyjitchatterjee/Desktop/example)
с файлом weather.csv. Также компилируемый код хранится в папке (/Users/joyjitchatterjee/Desktop/windAnalysis)
с именем test.py
. Я не уверен, почему __init__()
метод dunder выдаёт эту странную ошибку, и если мне нужно указать какой-либо явный аргумент вместо имени для запуска примера кода. Я новичок виспользование как windpowerlib, так и Python с подобными пакетами, и любая помощь в этом отношении будет высоко оценена.Спасибо!