python-3.x - LDAP3 Socket 连接仅适用于 conda 环境
问题描述
我尝试使用 JupyterHub 和 LDAP Authenticator 连接到 LDAP 服务器。LDAP Authenticator python 模块使用 LDAP3 模块建立连接(无 ssl)。
当我在 conda 环境中安装模块时,与 LDAP 的连接有效。当只在 conda 环境之外使用 pip 时,我收到此错误:
文件“/usr/local/lib/python3.8/dist-packages/ldap3/core/tls.py”,第 280 行,在 start_tls 返回 self._start_tls(connection) 文件“/usr/local/lib/python3.8 /dist-packages/ldap3/core/tls.py",第 289 行,在 _start_tls 中引发 start_tls_exception_factory(e)(connection.last_error) ldap3.core.exceptions.LDAPStartTLSError: wrap socket error: [Errno 104] Connection reset by peer
当我在 conda env 中使用 pip 而不是 conda 安装模块时,它甚至可以工作。
我使用带有 python 3.9.5 的常规 ubuntu 容器 python 和 pip 版本以及所有依赖项的版本在环境内部和外部都是相同的。我找不到任何区别。
解决方案
推荐阅读
- python - 我希望我的角色只要按住按钮就可以做某事,然后在松开按钮后恢复正常
- reactjs - 具有给定令牌的 Axios 拦截器,React
- javascript - vanilla javascript使用链接的点击但不同的命令
- javascript - 触发日期更改时未触发 ng-change 事件
- java - 如何在 Spring Boot 中捕获客户端参数错误的“请求处理失败”?
- mysql - 续集加载初始数据
- outlook - Outlook 加载项的“额外费用披露”失败
- docker - 为什么`oom-kill-disable`对`kubectl create pod`无效,但对自己系统中的`docker run container`有效?
- c# - 如何在 asp.net mvc 中使用引导程序验证您的表单?
- javascript - 不在js中填充字符串值