我正在学习Quickstart Azure IoT边缘教程和配置IoT边缘运行时节中的内容。
当我用IoT边缘设备连接字符串配置运行时
iotedgectl setup --connection-string "{device connection string}" --nopass(我更改了连接字符串)得到了以下结果
Traceback (most recent call last):
File "/usr/local/bin/iotedgectl", line 11, in <module>
sys.exit(coremain())
File "/Library/Python/2.7/site-packages/edgectl/__init__.py", line 23, in coremain
version = pkg_resources.require(PACKAGE_NAME)[0].version
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 959, in require
needed = self.resolve(parse_requirements(requirements))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 851, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (pyOpenSSL 0.13.1 (/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python), Requirement.parse('pyOpenSSL>=0.14'), set(['docker']))这不允许我继续执行命令。
iotedgectl start我查看了第857-859行中的文件init.py:
# Register the new requirements needed by req
for new_requirement in new_requirements:
required_by[new_requirement].add(req.project_name)第848 - 851行
if dist not in req:
# Oops, the "best" so far conflicts with a dependency
dependent_req = required_by[req]
raise VersionConflict(dist, req).with_context(dependent_req)第959项
needed = self.resolve(parse_requirements(requirements))我需要在那里换什么?或者需要配置什么?
发布于 2018-05-08 05:16:49
在安装iotedgectl之前,您已经安装了一个较低版本的pyOpenSSL,它不满足iotedgectl的版本要求,而在安装了iotedgectl的较高版本之前。
您可以查看这个答案,了解如何首先使pyOpenSSL引用更高版本的pyOpenSSL。
此外,您似乎正在开发macOS。如果是,请参考Quickstart:将您的第一个IoT边缘模块部署到Linux或Mac设备上-预览,而不是Quickstart:将第一个IoT边缘模块从Azure门户部署到Windows设备预览。
发布于 2018-05-07 07:03:48
从消息中可以看出,pyOpenSSL太老了,需要0.14或更高版本。
回溯(最近一次调用):文件"/usr/local/bin/iotedgectl",第11行,在"/Library/Python/2.7/site-packages/edgectl/__init__.py",(co残留物())文件的第23行,在共保留版本= pkg_resources.require(PACKAGE_NAME).version文件的第959行,在require = self.resolve(parse_requirements(requirements)) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py",第851行中,“解析提升”中的VersionConflict(dist,req).with_context(dependent_req) pkg_resources.ContextualVersionConflict:(pyOpenSSL 0.13.1 (/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python),Requirement.parse('pyOpenSSL>=0.14'),设置(“码头”)
您可以使用以下命令升级pyOpenSSL:
pip install --upgrade pyOpenSSL如果问题不能解决,请随时通知我。
https://stackoverflow.com/questions/50198767
复制相似问题