python docker抛出错误:AttributeError:模块“six”没有属性“PY34”

2024-04-24 00:24:46 发布

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

我正在写一个脚本,它将构建docker映像,然后将映像推送到ECR。 我当前的python版本是

>python --version
Python 3.8.0

因此,出于某种原因,在本地运行python的第一行,我得到了以下错误。这意味着,它还没有建立形象,以推动进入ECR。你知道吗

import docker-->;抛出下面的错误

Traceback (most recent call last):
  File "genericECR.py", line 1, in <module>
    import docker
  File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\site-packages\docker\__init__.py", line 2, in <module>
    from .api import APIClient
  File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\site-packages\docker\api\__init__.py", line 2, in <module>
    from .client import APIClient
  File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\site-packages\docker\api\client.py", line 8, in <module>
    import websocket
  File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\site-packages\websocket\__init__.py", line 23, in <module>
    from ._app import WebSocketApp
  File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\site-packages\websocket\_app.py", line 36, in <module>
    from ._core import WebSocket, getdefaulttimeout
  File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\site-packages\websocket\_core.py", line 34, in <module>
    from ._handshake import *
  File "C:\Users\AppData\Local\Programs\Python\Python38-32\lib\site-packages\websocket\_handshake.py", line 40, in <module>
    if six.PY34:
AttributeError: module 'six' has no attribute 'PY34'

已经安装了6个

Requirement already satisfied: six in c:\users\appdata\local\programs\python\python38-32\lib\site-packages (1.6.1)

它似乎是针对python34的,那么对于python38,我如何解决这个问题呢?你知道吗


Tags: dockerinpyimportlibpackageslocalline
1条回答
网友
1楼 · 发布于 2024-04-24 00:24:46

很可能是six版本不够高,c.f.https://github.com/docker/docker-py/issues/2294

首先检查六个版本:

import six
print(six.__version__)

如果six version不是>;=1.0.0,则在命令行上升级six

python -m pip install -U six

使用最新的pip,您应该看到:

>>> import six
>>> six.__version__
'1.13.0'
>>> six.PY34
True

相关问题 更多 >