Missing 'module_name' argument in StanModel

Hello everyone!

I have a problem using StanModel on Python 3.7.3 (Windows 10, Jupiter Cloud)

The code:

# mean-centralize: sales, numeric base_vars
df_ctrl, sc_ctrl = mean_center_trandform(df, target_cols + me_cols + mrkdn_cols)
df_ctrl = pd.concat([df_ctrl, df[hldy_cols + seas_cols]], axis=1)

# variables positively related to sales: macro economy, store count, markdown, holiday
pos_vars = [col for col in me_cols + mrkdn_cols + seas_cols if col != 'other_anxiety_index']
X1 = df_ctrl[pos_vars].values

# variables may have either positive or negtive impact on sales: seasonality
pn_vars = [col for col in hldy_cols + ['other_anxiety_index']]
X2 = df_ctrl[pn_vars].values


ctrl_data = {
    'N': len(df_ctrl),
    'K1': len(pos_vars), 
    'K2': len(pn_vars), 
    'X1': X1,
    'X2': X2, 
    'y': df_ctrl[target_cols].values,
    'max_intercept': min(df_ctrl[target_cols])
}

ctrl_code1 = '''
data {
  int N; // number of observations
  int K1; // number of positive predictors
  int K2; // number of positive/negative predictors
  real max_intercept; // restrict the intercept to be less than the minimum y
  matrix[N, K1] X1;
  matrix[N, K2] X2;
  vector[N] y; 
}

parameters {
  vector[K1] beta1; // regression coefficients for X1 (positive)
  vector[K2] beta2; // regression coefficients for X2
  real alpha; // intercept
  real noise_var; // residual variance
}

model {
  // Define the priors
  beta1 ~ normal(0, 1); 
  beta2 ~ normal(0, 1); 
  noise_var ~ inv_gamma(0.05, 0.05 * 0.01);
  // The likelihood
  y ~ normal(X1*beta1 + X2*beta2 + alpha, sqrt(noise_var));
}
'''

sm1 = pystan.StanModel(model_code=ctrl_code1, verbose=True)
fit1 = sm1.sampling(data=ctrl_data, iter=2000, chains=4)
fit1_result = fit1.extract()

results in the following error:

StanModel.__init__() missing 1 required positional argument: 'module_name'

How can I solve this? Thank you in advance!