Python2.7不会加载我安装的任何模块。将只加载Python 2.7附带的本机模块

2024-04-28 22:21:34 发布

您现在位置:Python中文网/ 问答频道 /正文

注意:请不要在这里评论Python2.7被贬低了。我已经知道了。在迁移到3.x之前,我需要先让它工作

在Windows10上,我已经安装(并正确运行)了Python2.7和Python3.7。因为我只需要Python2.7,所以我卸载了Python3.7(并手动删除了在.\Python37*下安装的各个软件包)以及下面的虚拟环境目录。我不知道该虚拟环境是否与Python 2.7或Python 3.7关联:

C:\Users\MKANET\Envs\MKA.NETT

重启后,令我恐惧的是,每次运行Python 2.7脚本时,在尝试导入使用PIP(用于Python 2.7)安装的模块时,我都会遇到一大堆模棱两可的回溯错误。但是,我在导入sys、json(与python2.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:驱动器上的任何其他文件夹中执行脚本,模块将完全无误地加载。我不知道这个文件夹有什么不同,导致我的模块无法加载。也许,这个文件夹里有个文件导致了这个


Tags: inpylibpackageslocallinesiteusers
1条回答
网友
1楼 · 发布于 2024-04-28 22:21:34

由于此问题仅限于以下目录中的脚本:

C:\Users\Michael\OneDrive\Dev\Projects\Python

我能够将问题缩小到一个名为email.py的文件。如果我试图导入一个模块,例如,请求;出于某种奇怪的原因,会创建一个email.pyc;然后是导入模块错误。我所做的只是将email.py重命名为mail.py。。而且,整个问题终于停止了

我不知道为什么Python2.7对这个文件名很敏感,但是把它改成其他的名字就解决了这个问题。也许,有人会评论为什么文件名会破坏东西;特别是当我在同一个目录中有一个__init__.py来导入另一个模块时

相关问题 更多 >