zoneinfo数据损坏,如何编译新数据?

2024-06-07 10:40:50 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上和我问this问题时一样的事情又发生了。但是这次我不能再做对了。我又试了一遍伯汉·哈立德的答案,结果又犯了同样的错误。我还尝试从备份中复制粘贴zoneinfo文件夹,但这次它没有修复我的错误。在

Django版本=1.4.5

芹菜版本=3.0.8

Django芹菜版本=3.0.6

pytz=2013b版本(与我正在下载的文件相同)

OS=Mac山狮


尝试1:

  1. 清除zoneinfo文件夹(/usr/share/zoneinfo/)
  2. 将targz文件粘贴到文件夹(tzdata2013b。焦油gz)在
  3. 使用burhankhalid提供的命令提取targz文件
  4. 创建Burhan Khalid提供的脚本
  5. 运行脚本

结果:

ValueError: Incorrect timezone setting: Europe/Amsterdam when trying to run celery beat.

当我检查一下zoneinfo文件夹中确实没有一个名为Europ的文件夹


尝试2:

  1. 不清除zoneinfo文件夹(我在尝试上述操作之前将其从备份中放回)
  2. 将targz文件粘贴到文件夹(tzdata2013b。焦油gz)在
  3. 使用burhankhalid提供的命令提取targz文件
  4. 由BureInfo脚本提供的khaleInfo文件夹
  5. 运行脚本

结果2:

在步骤3中,我得到以下输出,包括一些错误:

^{pr2}$

在步骤5中,我得到以下输出,包括一些错误:

[13:59:13] /usr/share/zoneinfo $ sudo ./the_script.sh
Password:
zic: error reading africa
zic: error reading antarctica
zic: error reading asia
zic: error reading europe

我还有那份损坏的文件。在


尝试3:

  1. 再次还原备份区域信息文件夹
  2. 在桌面上创建单独的文件夹
  3. 将targz文件和脚本粘贴到桌面上的新文件夹中
  4. 使用命令提取targz文件
  5. 执行脚本

结果3:

步骤3和5没有错误或异常输出

尝试运行celery beat仍然会出现损坏的文件错误


问题 我做错什么了。我好像搞不懂。。。在


编辑

因此,我做了更多的挖掘,发现了以下内容:

  1. 如果我通过foreman run而不是Procfile运行同一个命令,即使它是Procfile中唯一的命令,也不会出错
  2. 错误的文件描述符错误意味着Python tries to close a file that is already closed而不是文件被损坏

这让我得出结论,在foreman中使用Procfile时,某些东西会迫使文件在正确关闭之前关闭。。。思想?在


Tags: 文件命令版本脚本文件夹粘贴错误步骤

热门问题