在 importlib.reload() 之后,Python 模块没有重新加载。

0 人关注

我最近把我导入的一个模块中的一个函数改成了接受一个参数。然而,尽管我试图重新加载该模块,但Python似乎并不能识别这一变化。

# config.py in bettered package
def read_config(config: str = None) -> ConfigParser:
    """Process and check a given configuration file.
    Raises:
        FileNotFoundError: No configuration file found.
        ValueError: Configuration value error.
    Returns:
        Complete ConfigParser object.
    config = ConfigParser()
    if config:
        config_location = config
    else:
        config_location = CONFIG_LOCATIONS
    files_read = config.read(config_location)
    if not files_read:
        raise FileNotFoundError('No configuration file at the following '
                                f'location(s): {config_location}')
    _check_config(config)
    return config
"""Test module for the configuration file."""
import pytest
from bettered import config
import importlib
importlib.reload(config)
def test_config_exists():
    """Test FileNotFoundError raised when no configuration file found."""
    with pytest.raises(FileNotFoundError):
        config.read_config('')
$ pytest
   def test_config_exists():
        """Test FileNotFoundError raised when no configuration file found."""
        with pytest.raises(FileNotFoundError):
>           config.read_config('')
E           TypeError: read_config() takes 0 positional arguments but 1 was given