![](/img/trans.png)
[英]Debian mitmproxy fails to find/load python-2.7 modules installed via pip
[英]Python 2.7 won't load any modules I installed. Will only load native modules that come with Python 2.7
注意:请不要在此处评论 Python 2.7 已贬值。 我已经知道了。 在迁移到 3.x 之前,我需要先完成这项工作。
在 Windows 10 上,我已安装(并正常运行)Python 2.7 和 Python 3.7。 由于我只需要Python 2.7,我卸载了Python 3.7(并手动删除了安装在.\Python37*下的各个包)以及下面的虚拟环境目录。 我不知道该虚拟环境是否与 Python 2.7 或 Python 3.7 相关联:
C:\Users\MKANET\Envs\MKA.NETT
重新启动后,令我恐惧的是,每次我运行 Python 2.7 脚本时,在尝试导入使用 PIP 安装的模块时都会遇到一大堆模棱两可的回溯错误(对于 ZA7F5F352126B9272117329)。 但是,我在导入 sys、json(预装 Python 2.7 的软件包)之类的模块时没有问题。 从 Windows 命令行执行以下脚本时:
& C:/Users/MKANET/AppData/Local/Programs/Python/python27/python.exe c:/Users/MKANET/OneDrive/Dev/Projects/Python/test2.py
...我得到了一堆模棱两可的回溯错误:。
Traceback (most recent call last):
File "c:/Users/MKANET/OneDrive/Dev/Projects/Python/test2.py", line 3, in <module>
from pypsexec.client import Client
File "C:\Users\MKANET\AppData\Local\Programs\Python\python27\lib\site-packages\pypsexec\client.py", line 8, in <module>
from smbprotocol.connection import Connection, NtStatus
File "C:\Users\MKANET\AppData\Local\Programs\Python\python27\lib\site-packages\smbprotocol\connection.py", line 33, in <module>
from cryptography.hazmat.primitives.ciphers import (
File "C:\Users\MKANET\AppData\Local\Programs\Python\python27\lib\site-packages\cryptography\hazmat\primitives\ciphers\aead.py", line 10, in <module>
from cryptography.hazmat.backends.openssl import aead
File "C:\Users\MKANET\AppData\Local\Programs\Python\python27\lib\site-packages\cryptography\hazmat\backends\openssl\__init__.py", line 7, in <module>
from cryptography.hazmat.backends.openssl.backend import backend
File "C:\Users\MKANET\AppData\Local\Programs\Python\python27\lib\site-packages\cryptography\hazmat\backends\openssl\backend.py", line 16, in <module>
from cryptography import utils, x509
File "C:\Users\MKANET\AppData\Local\Programs\Python\python27\lib\site-packages\cryptography\x509\__init__.py", line 8, in <module>
from cryptography.x509.base import (
File "C:\Users\MKANET\AppData\Local\Programs\Python\python27\lib\site-packages\cryptography\x509\base.py", line 18, in <module>
from cryptography.x509.extensions import Extension, ExtensionType
File "C:\Users\MKANET\AppData\Local\Programs\Python\python27\lib\site-packages\cryptography\x509\extensions.py", line 26, in <module>
from cryptography.x509.general_name import GeneralName, IPAddress, OtherName
File "C:\Users\MKANET\AppData\Local\Programs\Python\python27\lib\site-packages\cryptography\x509\general_name.py", line 10, in <module>
from email.utils import parseaddr
File "c:\Users\MKANET\OneDrive\Dev\Projects\Python\email.py", line 11, in <module>
obj = win32com.client.Dispatch("Outlook.Application")
File "C:\Users\MKANET\AppData\Local\Programs\Python\python27\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File "C:\Users\MKANET\AppData\Local\Programs\Python\python27\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\Users\MKANET\AppData\Local\Programs\Python\python27\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)
更新巨大的线索:这仅在执行以下文件夹中的脚本时发生:
C:\Users\Michael\OneDrive\Dev\Projects\Python
如果我在 C: Drive 上的任何其他文件夹中执行脚本,模块加载完美无误。 我不知道这个文件夹有什么不同导致我的模块无法加载。 也许,这个文件夹中有一个文件导致了这个?
由于此问题仅限于以下目录中的脚本:
C:\Users\Michael\OneDrive\Dev\Projects\Python
我能够将问题缩小到一个名为email.py
的文件。 例如,如果我尝试导入一个模块,请求; 出于某种奇怪的原因,将创建email.pyc
; 其次是导入模块错误。 我所做的只是将 email.py 重命名为 mail.py ..,这整个问题终于停止了。
我不知道为什么 Python 2.7 对该文件名敏感,但将其更改为其他名称为我解决了这个问题。 也许,有人可以评论为什么文件名会破坏东西; 特别是当我在同一目录中有一个__init__.py
来导入另一个模块时。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.