【问题标题】:Python - Zero length field name in formatPython - 格式中的零长度字段名称
【发布时间】:2016-02-14 10:06:51
【问题描述】:

我在我的 Centos 机器上使用 Python,当我尝试运行我的程序时,我显示了这个错误:

Running setup.py egg_info for package pyepr
Traceback (most recent call last):
  File "<string>", line 16, in <module>
  File "/tmp/pip-build-root/pyepr/setup.py", line 68, in <module>
    print('using EPR C API sources at "{}"'.format(eprsrcdir))
ValueError: zero length field name in format
Complete output from command python setup.py egg_info:
Traceback (most recent call last):

File "<string>", line 16, in <module>

  File "/tmp/pip-build-root/pyepr/setup.py", line 68, in <module>

print('using EPR C API sources at "{}"'.format(eprsrcdir))

ValueError: zero length field name in format

我已经检查了关于这个主题的其他问题,并且我已经安装了 Python 2.7.6 并将其设置为我的默认配置,如下所示......

 $ python -V
 Python 2.7.6

一定是出了什么问题,但我不知道是什么。

有人有想法吗?

谢谢

【问题讨论】:

  • 您的脚本肯定是使用比 2.7.6 更旧的 python 版本执行的。
  • 您是在运行python setup.py install 还是在使用pipeasy_install?如果您使用的是pipeasy_install,他们可能没有使用正确的python 版本。
  • 在脚本中尝试import sys; print(sys.version) 以确定实际版本。

标签: python centos


【解决方案1】:

只有在使用 Python 2.6 或更早版本运行该代码时才会引发该错误。在这些版本中,您必须明确为str.format 的格式字段编号(从0 开始):

print('using EPR C API sources at "{0}"'.format(eprsrcdir))

当然,这只是临时修复。最好先调查一下为什么你的代码没有在 Python 2.7 上运行,然后改正它。

【讨论】:

  • 问题来了,当我安装 pyepr 库时,它的 setup.py 会自行启动,因为它失败了,下载被中止,我无法修复任何东西。所以是的,我'将尝试找出为什么它没有与 Python 2.7 一起运行,而它似乎是默认的。
【解决方案2】:

如果您使用 sudo 运行安装,您最终将使用 sudo 路径的 Python 解释器。不确定您是否使用 sudo 进行安装,但很有可能是。

【讨论】:

  • OP说他用的是centOS吧?所以yum的骨干是Python 2.6。如果他键入 sudo ,他将使用 sudo 环境路径而不是标准用户路径,甚至是根路径,他将使用 sudo 路径 /sbin:/bin:/usr/sbin :/usr/bin 将在找到 python 2.7 之前找到 python 2.6,然后为 2.7 编写的任何安装代码都不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-30
  • 2015-10-17
  • 2015-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多