Невозможно использовать windpowerlib в среде Anaconda с PyCharm? - PullRequest
0 голосов
/ 01 января 2019

Я пытаюсь обратиться к документации по 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 с подобными пакетами, и любая помощь в этом отношении будет высоко оценена.Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...