Python 2.7 docker py错误:name错误:name';客户';没有定义
我试图让docker py工作起来,但遇到了一个根本与docker py无关的问题 我通过pip安装了docker py(这里是重新运行它的输出-应该回答版本问题):Python 2.7 docker py错误:name错误:name';客户';没有定义,python-2.7,dockerpy,Python 2.7,Dockerpy,我试图让docker py工作起来,但遇到了一个根本与docker py无关的问题 我通过pip安装了docker py(这里是重新运行它的输出-应该回答版本问题): >pip安装docker py 已满足要求:docker py in/usr/local/lib/python2.7/site-packages 已满足要求:docker pycreds>=0.2.1 in/usr/local/lib/python2.7/site-packages(来自docker py) 已满足要求:backp
>pip安装docker py
已满足要求:docker py in/usr/local/lib/python2.7/site-packages
已满足要求:docker pycreds>=0.2.1 in/usr/local/lib/python2.7/site-packages(来自docker py)
已满足要求:backport.ssl匹配主机名>=3.5;python_版本=1.0.16;/usr/local/lib/python2.7/site-packages中的python_版本<“3.3”(来自docker py)
要求已经满足:要求=2.11.0,>=2.5.2 in/usr/local/lib/python2.7/site-packages(来自docker py)
已满足要求:六个>=1.4.0 in/usr/local/lib/python2.7/site-packages(来自docker py)
已满足要求:websocket客户端>=0.32.0 in/usr/local/lib/python2.7/site-packages(来自docker py)
正在尝试执行(来自)的部分代码示例,但我立即失败:
>python
Python 2.7.13 (default, Dec 17 2016, 23:03:43)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from docker import client
>>> cli = Client(base_url='unix://var/run/docker.sock')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'Client' is not defined
python
Python 2.7.13(默认,2016年12月17日,23:03:43)
[GCC 4.2.1达尔文兼容苹果LLVM 8.0.0(clang-800.0.42.1)]
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>从docker导入客户端
>>>cli=客户端(基本url=)unix://var/run/docker.sock')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
NameError:未定义名称“客户端”
我尝试一个利用AutoVersionClient(client=AutoVersionClient(base_url=)的不同代码示例时遇到了类似的失败unix://var/run/docker.sock“)
),但如果未定义类似的AutoVersionClient,则会失败
在我的系统中,这确实是一个核心配置问题,但我不知道问题出在哪里。客户端和客户端不是一回事
✗ python
Python 2.7.12 (default, Nov 8 2016, 15:40:43)
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from docker import Client
>>> cli = Client(base_url='unix://var/run/docker.sock')
>>> from docker import client
>>>
如果已安装docker py 2.0或更新版本,则已重命名客户端。低级API现在是
docker.APIClient
,而不是docker.Client
,有趣的是,它允许我同时导入这两个API。从来没有真正研究过这个问题。当大小写匹配时,我得到一个不同的错误:TypeError:“module”对象不可调用
这里有一个建议,即端口正在使用中,这就是无法创建套接字的原因。不幸的是,该线程中没有提供解决方案。除此之外,我还使用ubuntu/trusty64(Python 2.7.6)设置了一个流浪者,运行了上述代码并得到了相同的结果,因此我认为这不是环境问题。谢谢pip freeze
说我正在运行docker py==1.10.6。是的,MLindsay有正确的答案,我没有仔细观察。之所以能够同时导入这两个文件,是因为在中的docker
目录中有一个client.py
。来自client.py
的\uuuu init\uuuu.py
。因此,docker.client.client
和docker.client
是等价的。
✗ python
Python 2.7.12 (default, Nov 8 2016, 15:40:43)
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from docker import Client
>>> cli = Client(base_url='unix://var/run/docker.sock')
>>> from docker import client
>>>