使用确定Python版本平台.版本

2024-04-27 02:23:13 发布

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

我试着运行一个Python包(ig markets api Python library,它有一个股价流函数),我以前也运行过这个包,现在我正发疯,想弄清楚为什么我不能让它再次运行。这可能是个小问题,谢谢你的帮助。我用Anaconda 2.4.1(64位)运行Python 3.5.1,遇到以下错误:

Traceback (most recent call last):
  File "setupStreamer.py", line 8, in <module>
    import ig_streamer
  File "/ig-tools-python/ig_streamer.py", line 13, in <module>
    from trading_ig import (IGService, IGStreamService)
  File "/opt/conda/lib/python3.5/site-packages/trading_ig/__init__.py", line 17, in <module>
    from .rest import IGService
  File "/opt/conda/lib/python3.5/site-packages/trading_ig/rest.py", line 15, in <module>
    from .utils import (_HAS_PANDAS, _HAS_BUNCH)
  File "/opt/conda/lib/python3.5/site-packages/trading_ig/utils.py", line 21, in <module>
    from infi.bunch import bunchify
  File "/opt/conda/lib/python3.5/site-packages/infi/bunch/__init__.py", line 31, in <module>
    from .python3_compat import *
  File "/opt/conda/lib/python3.5/site-packages/infi/bunch/python3_compat.py", line 20, in <module>
    iteritems = dict.iteritems

AttributeError: type object 'dict' has no attribute 'iteritems'

因此出现错误是因为bunch模块试图调用iteritems方法,但这是python2方法。看一下python3的代码_兼容来自bunch,它使用plaform中的version()方法标识Python版本,但Python_3始终为false:

^{pr2}$

在我的机器上,平台.版本()返回有关我的操作系统的信息:

 >>> import platform
 >>> platform.version()
 '#48~14.04.1-Ubuntu SMP Fri Dec 18 10:24:49 UTC 2015'

。。。这与平台文档一致。我肯定是错过了什么?这个代码还能用吗?在


Tags: infrompyimportlibpackageslinesite
3条回答

看起来他们有点困惑。在

>>> platform.python_version()
'2.7.10'

{uduntu}在旧版本下,}确认安装。 在Mac下,它不会发生。在

因此,安装模块的正确方法是:

(仅当您已使用pip安装模块时)

$ pip uninstall trading_ig

(然后)

^{pr2}$

您应该更改:

import platform

_IS_PYTHON_3 = (platform.version() >= '3')

收件人:

^{pr2}$

相关问题 更多 >