python报错问题--ModuleNotFoundError: No module named 'pygal.i18n'

报错问题:ModuleNotFoundError: No module named ‘pygal.i18n’

问题出处:
在《Python编程:从入门到实践》书中的使用pygal.i18n模块获取国别码,但是 pygal已经没有i18n模块,要改用pygal_maps_world.i18n


步骤:
1:导入pygal_maps_world.i18n

from pygal_maps_world.i18n import COUNTRIES

def get_country_code(country_name):
    """根据指定的国家,返回pygal使用的两个字母的国别码"""
    for code, name in COUNTRIES.items():
        if name == country_name:
            return code

    # 如果没有找到指定的国家,就返回None
    return None

2:运行检查
python报错问题--ModuleNotFoundError: No module named 'pygal.i18n'_第1张图片

可以看到完美的出错啦!!!


继续:
说明:
事实上,pygal.i18n 已经不存在了,现在已经更改成了 pygal_maps_world ,需要单独通过pip下载

解决:安装pygal_maps_world 模块

python报错问题--ModuleNotFoundError: No module named 'pygal.i18n'_第2张图片

在步骤1处:
from pygal_maps_world.i18n import COUNTRIES改成from pygal.maps.world import COUNTRIES
步骤1代码:

from pygal.maps.world import COUNTRIES

def get_country_code(country_name):
    """根据指定的国家,返回pygal使用的两个字母的国别码"""
    for code, name in COUNTRIES.items():
        if name == country_name:
            return code

    # 如果没有找到指定的国家,就返回None
    return None

再次运行结果:完美解决
python报错问题--ModuleNotFoundError: No module named 'pygal.i18n'_第3张图片

注:整个程序完整操作相关文档请看:
整个完整的程序相关文档介绍

你可能感兴趣的:(python)