出现错误:没有名为“calendar_ui"的模块.即使 KivyCalendar 已在 Windows 10 中使用 pip 安装

2022-01-15 00:00:00 python kivy calendar

问题描述

KivyCalendar 已在 windows 10 中使用 pip 安装.但返回错误:-

KivyCalendar has been installed using pip in windows 10. But returns an error:-

没有名为calendar_ui"的模块

No module named 'calendar_ui

我的代码是:

from kivy.app import App
from KivyCalendar import CalendarWidget


class MyApp(App):

    def build(self):
        return CalendarWidget()

MyApp().run()

任何帮助将不胜感激.谢谢

Any help would be much appreciated. Thanks


解决方案

我在项目中使用 KivyCalendar 时遇到了一些问题,因此我做了一些改进以使其在 Python 3 上运行.确保有原始文件的副本.

I had a few troubles using KivyCalendar in my project so I made a few improvements to make it work on Python 3. Make sure to have a copy of original files.

添加行首带有 + 标记的行并删除行首带有 - 标记的文件.

Add lines which are having a + mark at the beginning of the line and remove files which are having a - mark at the beginning of the line.

首先找到kivycalendar的安装目录.

First of all find the directory where kivycalendar is installed.

KivyCalendar/init.py

KivyCalendar/init.py

 #!/usr/bin/python
 # -*- coding: utf-8 -*-

 -from calendar_ui import DatePicker, CalendarWidget
 +from .calendar_ui import DatePicker, CalendarWidget

KivyCalendar/calendar_data.py

KivyCalendar/calendar_data.py

-from calendar import TimeEncoding, month_name, day_abbr, Calendar, monthrange
+from calendar import month_name, day_abbr, Calendar, monthrange
 from datetime import datetime
 from locale import getdefaultlocale
+import locale as _locale
+
+
+class TimeEncoding:
+    def __init__(self, locale):
+        self.locale = locale
+
+    def __enter__(self):
+        self.oldlocale = _locale.setlocale(_locale.LC_TIME, self.locale)
+        return _locale.getlocale(_locale.LC_TIME)[1]
+
+    def __exit__(self, *args):
+        _locale.setlocale(_locale.LC_TIME, self.oldlocale)
+

 def get_month_names():
     """ Return list with months names """

KivyCalendar/calendar_ui.py

KivyCalendar/calendar_ui.py

 from kivy.core.window import Window
 from kivy.properties import NumericProperty, ReferenceListProperty

-import calendar_data as cal_data
+from . import calendar_data as cal_data
 ###########################################################
 Builder.load_string("""
 <ArrowButton>:

相关文章