我发现这篇 Linux Journal 文章真的很想让 gcalcli 在我的 PC 上运行。我尝试了从源代码安装(按照文章)和从 Ubuntu 存储库安装。无论哪种方式,我都可以通过在终端中运行来sudo apt-get install gcalcli
获得相同的结果Traceback
$ gcalcli
Traceback (most recent call last):
File "/usr/local/bin/gcalcli", line 369, in <module>
class gcalcli:
File "/usr/local/bin/gcalcli", line 388, in gcalcli
dateParser = DateTimeParser()
File "/usr/local/bin/gcalcli", line 321, in __init__
self.pdtCalendar = parsedatetime.Calendar()
File "/usr/lib/python2.7/dist-packages/parsedatetime/__init__.py", line 216, in __init__
self.ptc = Constants()
File "/usr/lib/python2.7/dist-packages/parsedatetime/__init__.py", line 1733, in __init__
self.locale = pdtLocales['icu'](self.localeID)
File "/usr/lib/python2.7/dist-packages/parsedatetime/pdt_locales.py", line 151, in __init__
self.icu = pyicu.Locale(localeID)
icu.InvalidArgsError: (<type 'icu.Locale'>, '__init__', (None,))
这是另一篇好文章,与上一个基本相同。我尝试了所有步骤,但没有任何效果。
我在尝试过程中也确实遇到了另一个错误ERROR: Missing module - cannot import name __version__
,但我解决了它并$ easy_install --upgrade google-api-python-client
让我回到了原始状态Traceback
答案1
gcalcli 使用的 Python 库 (parsedatetime) 在 14.04 中已经过时,我在此错误报告中找到了解决方案:
所以基本上我们需要升级python-parsedatetime
,如果这是您的首选方法,您可以使用 pip 执行此操作:
sudo pip install --upgrade parsedatetime
或者通过克里斯·约翰逊的 PPA。我不想只是为了让 gcalcli 工作而添加整个 PPA,所以我只抓取了包:
wget https://launchpad.net/~cjohnston/+archive/ubuntu/ppa/+files/python-parsedatetime_1.2-1~ubuntu14.04.1~ppa1_all.deb
然后安装它:
sudo dpkg -i https://launchpad.net/~cjohnston/+archive/ubuntu/ppa/+files/python-parsedatetime_1.2-1~ubuntu14.04.1~ppa1_all.deb
sudo apt-get -f install
答案2
从 pip 安装最新的 gcalcli(linux repo 已过时)。
pip install --upgrade gcalcli
然后使用终端上的命令运行 gcalcli,如下所示-
gcalcli list
这将打开一个网页浏览器页面,以便gcalcli
通过 Google 进行身份验证。尝试此操作以获取使用信息;
gcalcli help