出现错误:没有名为“calendar_ui"的模块.即使 KivyCalendar 已在 Windows 10 中使用 pip 安装
问题描述
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>:
相关文章