Python Pytz-索引器错误:列表索引超出范围
我的ptyz有这个问题:Python Pytz-索引器错误:列表索引超出范围,python,pytz,Python,Pytz,我的ptyz有这个问题: >>> import pytz >>> pytz.timezone('US/Mountain') Traceback (most recent call last): File "stdin", line 1, in module File "/home/user/.local/lib/python2.6/site-packages/pytz-2013b-py2.6.egg/pytz/__init__.py", line 181,
>>> import pytz
>>> pytz.timezone('US/Mountain')
Traceback (most recent call last):
File "stdin", line 1, in module
File "/home/user/.local/lib/python2.6/site-packages/pytz-2013b-py2.6.egg/pytz/__init__.py", line 181, in timezone
_tzinfo_cache[zone] = build_tzinfo(zone, fp)
File "/home/user/.local/lib/python2.6/site-packages/pytz-2013b-py2.6.egg/pytz/tzfile.py", line 78, in build_tzinfo
while ttinfo[i][1]:
IndexError: list index out of range
我在一台服务器上有两个帐户,两个不同的pytz安装,尽管它们是彼此的副本。在其中一个例子中,pytz是一个符咒,但在另一个例子中,我有这个错误。这看起来像是ptyz内部的错误,但不可能是,因为pytz在另一个帐户中工作正常
有没有人在这之前处理过,或者知道是什么原因造成的
更新:
此错误仅在页面调用脚本时发生,这正是最后一条消息:
build_tzinfo(zone='US/Michigan', fp=<closed file '/home/user/.local/lib/python2...e-packages/pytz/zoneinfo/US/Michigan', mode 'rb'>)
文件似乎已被找到、打开,但并未真正打开。我当时发现linux和windows在查看二进制文件的方式上存在差异。我的服务器运行Linux,同样,在另一个帐户上,使用相同的安装,pytz是一种魅力。事情就是这样的:
在我更新了我的问题之后,我注意到问题在于python打开了一个二进制文件。一位朋友让我检查一下我用来向服务器发送文件的软件(Filezila),有三种传输类型:ASCII、二进制或自动。软件设置为自动。我以二进制传输模式再次发送二进制文件,它成功了。就是这样:
在我更新了我的问题之后,我注意到问题在于python打开了一个二进制文件。一位朋友让我检查一下我用来向服务器发送文件的软件(Filezila),有三种传输类型:ASCII、二进制或自动。软件设置为自动。我在二进制传输模式下再次发送二进制文件,它成功了。您确定两个帐户使用相同的库吗?pytz似乎安装在用户的主目录中,因此如果您在不同的帐户下运行它,它可能会使用不同的安装;在两种安装中都打印pytz.\uuuuu文件\uuuuu。它们可能不同。或者,如果它们相同,帐户1是否具有对帐户0的
网站包中所有文件的读取权限?可能是pytz
未能读取其数据库文件,只是没有尽可能准确地报告错误……不同的帐户有不同的pytz安装。谢谢你,我编辑了我的问题来提供这些信息。print pytz.\uuuuu file.\uuuu
的输出在每个帐户中都是\uuuu init.\uuuuu.pyc
,位于其所在位置并具有相同的权限。我不需要这两个帐户看到相同的安装,我不明白为什么这两个安装的工作方式不一样。你确定两个帐户使用相同的库吗?pytz似乎安装在用户的主目录中,因此如果您在不同的帐户下运行它,它可能会使用不同的安装;在两种安装中都打印pytz.\uuuuu文件\uuuuu
。它们可能不同。或者,如果它们相同,帐户1是否具有对帐户0的网站包中所有文件的读取权限?可能是pytz
未能读取其数据库文件,只是没有尽可能准确地报告错误……不同的帐户有不同的pytz安装。谢谢你,我编辑了我的问题来提供这些信息。print pytz.\uuuuu file.\uuuu
的输出在每个帐户中都是\uuuu init.\uuuuu.pyc
,位于其所在位置并具有相同的权限。我不需要两个帐户看到相同的安装,我不明白为什么两个安装的工作方式不同。
open(filename, 'rb')