gpt4 book ai didi

Python shell 在同一虚拟环境中同一台机器的不同位置上的工作方式不同

转载 作者:行者123 更新时间:2023-11-30 22:11:43 25 4
gpt4 key购买 nike

我有一个具有多个用户的 Linux 计算机 (openSuSE) 的云实例。我已经创建了一个虚拟环境并安装了所有需要的库(包括 Klein)。

我有两个用户“a”和“b”。当我以“a”身份登录并在 virtualenv 内时,当我在主目录中打开 python shell 并输入

import klein

它正常导入。

现在当我将目录更改为

/home/b/

并在同一个 virtualenv 中运行相同的(打开 python shell,导入 klein),它给了我一个错误。

 Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/a/.local/lib/python3.6/site-packages/klein/__init__.py", line 3, in <module>
from klein._plating import Plating
File "/home/a/.local/lib/python3.6/site-packages/klein/_plating.py", line 16, in <module>
from .app import _call
File "/home/a/.local/lib/python3.6/site-packages/klein/app.py", line 19, in <module>
from twisted.internet import endpoints, reactor
File "/home/a/.local/lib/python3.6/site-packages/twisted/internet/endpoints.py", line 58, in <module>
from twisted.protocols.tls import TLSMemoryBIOFactory
File "/home/a/.local/lib/python3.6/site-packages/twisted/protocols/tls.py", line 63, in <module>
from twisted.internet._sslverify import _setAcceptableProtocols
File "/home/a/.local/lib/python3.6/site-packages/twisted/internet/_sslverify.py", line 158, in <module>
verifyHostname, VerificationError = _selectVerifyImplementation()
File "/home/a/.local/lib/python3.6/site-packages/twisted/internet/_sslverify.py", line 141, in _selectVerifyImplementation
from service_identity import VerificationError
File "/home/a/.conda/envs/mm/lib/python3.6/site-packages/service_identity/__init__.py", line 7, in <module>
from . import cryptography, pyopenssl
File "/home/a/.conda/envs/mm/lib/python3.6/site-packages/service_identity/cryptography.py", line 16, in <module>
from .exceptions import SubjectAltNameWarning
File "/home/a/.conda/envs/mm/lib/python3.6/site-packages/service_identity/exceptions.py", line 21, in <module>
@attr.s
AttributeError: module 'attr' has no attribute 's'

命令“which python”在两个位置给出相同的地址,这是我的 virtualenv python 地址,这应该是预期的。

但是是什么导致了这种奇怪的 python shell 行为。

谢谢

最佳答案

我解决了这个问题,一个非常可耻的原因导致了这个错误。

Twisted 使用的模块之一是“attr”模块。我将我的一个文件命名为 attr.py,这就是导致所有错误的原因。

如果审核没有问题,我自己不会删除这个问题,也许像我这样的人可能会陷入同样的​​情况。这可能对他们有帮助。

Never name your python files same as that of any standard module unless overriding.

此外,如果您的问题仍然存在,那么 Jean 的回答肯定会解决它。

关于Python shell 在同一虚拟环境中同一台机器的不同位置上的工作方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51336251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com