Я ищу способ использовать configparser
в моем коде предиктора для настраиваемой процедуры прогнозирования. Я пробовал следующий фрагмент кода
common.cfg
[MODEL]
VERSION=config-true
setup.py
from setuptools import setup
REQUIRED_PACKAGES = [
'joblib==0.13.0'
]
setup(
name='test',
description='Custom prediction routine',
version=0.1,
install_requires=REQUIRED_PACKAGES,
scripts=['src/predictor.py', 'config/common.cfg']
)
predictor.py
import os
import joblib
import subprocess
import configparser
class CustomPredictor(object):
def __init__(self, model, config):
self._model = model
self._config = config
def predict(self, instances, **kwargs):
version_value = self._config.get('MODEL', 'VERSION', fallback='config-false')
print(f'version value = {version_value}', flush=True) # printing config-false
preprocessed_input = self._preprocess(instances)
score = self._model.predict(preprocessed_input)
print(f'predicted score {score}', flush=True)
return score.to_list()
@classmethod
def from_path(cls, model_dir):
config = configparser.RawConfigParser()
result = config.read('config/common.cfg')
print(f'read config result: {result}', flush=True) # empty
print(f'config sections: {config.sections()}', flush=True) # empty
subprocess.run(["ls", "-l"]) # don't see the config file or folder
model_path = os.path.join(model_dir, "model.joblib")
model = joblib.load(model_path)
return cls(model, config)
Есть какие-нибудь предложения о том, что я делаю неправильно или упускаю?