繁体   English   中英

Python 2.7 不会加载我安装的任何模块。 只会加载 Python 2.7 附带的原生模块

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM