簡體   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