Microsoft MVP성태의 닷넷 이야기
오류 유형: 812. 파이썬 - ImportError: cannot import name ... [링크 복사], [링크+제목 복사],
조회: 21544
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

(시리즈 글이 2개 있습니다.)
오류 유형: 812. 파이썬 - ImportError: cannot import name ...
; https://www.sysnet.pe.kr/2/0/13057

스크립트: 77. 파이썬 - 'urllib.request' 모듈의 명시적/암시적 로딩 차이
; https://www.sysnet.pe.kr/2/0/13934




파이썬 - ImportError: cannot import name ...

ImportError가 나면 어쨌든 없는 것이니, 해당 패키지를 찾든가 아니면 대체 패키지를 구해야 합니다. 가령, Python 2.7의 경우 아래의 라인에서,

from urllib import parse

이런 오류가 발생합니다.

ImportError: cannot import name parse

해당 코드는 3.x에서는 잘 동작하는데요, 굳이 어떤 차이점이 있나 알고 싶다면 추적을 해보면 됩니다. 우선, 해당 모듈의 경로를 구하면 되는데요,

import urllib
print(urllib.__file__) 

// 2.7 출력: /usr/lib/python2.7/urllib.pyc
// 3.8 출력: /usr/lib/python3.8/urllib/__init__.py

3.8의 경우 해당 경로를 보면,

$ ls -l /usr/lib/python3.8/urllib
total 168
-rw-r--r-- 1 root root      0 Mar 15 21:22 __init__.py
drwxr-xr-x 2 root root   4096 Apr  3 09:35 __pycache__
-rw-r--r-- 1 root root   2632 Mar 15 21:22 error.py
-rw-r--r-- 1 root root  42296 Mar 15 21:22 parse.py
-rw-r--r-- 1 root root 101586 Mar 15 21:22 request.py
-rw-r--r-- 1 root root   2299 Mar 15 21:22 response.py
-rw-r--r-- 1 root root   9424 Mar 15 21:22 robotparser.py

parse.py가 포함돼 있습니다. 반면 2.7 경로를 보면, python2.7 디렉터리에 단일 파일로만 존재합니다.

$ ls -l /usr/lib/python2.7/urllib.py
-rw-r--r-- 1 root root 60093 Mar 18 22:21 /usr/lib/python2.7/urllib.py

결국 없는 것을 확인한 것에 불과합니다. 따라서 관련 기능을 찾아서,

url.parse Python2.7 equivalent
; https://stackoverflow.com/questions/50638366/url-parse-python2-7-equivalent

대체하는 식으로 해결해야 합니다. (아니면, 만들거나!)

from urlparse import urlparse
parsed_url = urlparse(url)




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 5/12/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 91  92  93  94  95  96  97  [98]  99  100  101  102  103  104  105  ...
NoWriterDateCnt.TitleFile(s)
11545정성태6/11/201826090오류 유형: 469. .NET Core 프로젝트를 Visual Studio에서 실행 시 System.BadImageFormatException 발생하는 경우 [1]
11544정성태6/10/201825470.NET Framework: 765. C# 7.2 - 숫자 리터럴의 선행 밑줄과 뒤에 오지 않는 명명된 인수
11543정성태6/9/201824774.NET Framework: 764. C# 7.2 - private protected 접근자 추가파일 다운로드1
11542정성태6/9/201863209개발 환경 구성: 381. Azure Web App 확장 예제 - Remove Custom Headers
11541정성태6/9/201822516개발 환경 구성: 380. Azure Web App 확장 배포 방법 [1]
11540정성태6/9/201822108개발 환경 구성: 379. Azure Web App 확장 예제 제작 [2]
11539정성태6/8/201822874.NET Framework: 763. .NET Core 2.1 - Tiered Compilation 도입파일 다운로드1
11538정성태6/8/201821504.NET Framework: 762. .NET Core 2.1 - 확장 도구(Tools) 관리 [1]
11537정성태6/8/201826910.NET Framework: 761. C# - SmtpClient로 SMTP + SSL/TLS 서버를 이용하는 방법 [5]
11536정성태6/7/201823173.NET Framework: 760. Microsoft Build 2018 - The future of C# 동영상 내용 정리 [1]파일 다운로드1
11535정성태6/7/201826753.NET Framework: 759. C# - System.Span<T> 성능 [1]
11534정성태6/6/201831805.NET Framework: 758. C# 7.2 - Span<T> [6]
11533정성태6/5/201834844.NET Framework: 757. 포인터 형 매개 변수를 갖는 C++ DLL의 함수를 C#에서 호출하는 방법파일 다운로드1
11532정성태6/5/201823339.NET Framework: 756. JSON의 escape sequence 문자 처리 방식
11531정성태6/4/201827642오류 유형: 468. JSON.parse가 허용하지 않는 문자 [9]
11530정성태5/31/201829012.NET Framework: 755. C# 7.2 - 스택에만 생성할 수 있는 값 타입 지원 - "ref struct" [2]파일 다운로드1
11529정성태5/23/201826623.NET Framework: 754. 닷넷의 관리 포인터(Managed Pointer)와 System.TypedReference [6]파일 다운로드1
11528정성태5/17/201826087.NET Framework: 753. C# 7.2 - 3항 연산자에 ref 지원(conditional ref operator) [1]
11527정성태5/17/201823472오류 유형: 467. RDP 로그인 에러 - This could be due to CredSSP encryption oracle remediation.
11526정성태5/16/201823068.NET Framework: 752. C# 7.2 - 메서드의 반환값 및 로컬 변수에 ref readonly 기능 추가파일 다운로드1
11525정성태5/16/201827648.NET Framework: 751. C# 7.2 - 메서드의 매개 변수에 in 변경자 추가 [3]파일 다운로드1
11524정성태5/15/201826665.NET Framework: 750. C# 7.2 - readonly 구조체 [5]파일 다운로드1
11523정성태5/15/201822885.NET Framework: 749. C# - 값 형식의 readonly 인스턴스에 대한 메서드 호출 시 defensive copy 발생 [1]파일 다운로드1
11522정성태5/15/201822044개발 환경 구성: 378. Azure - VM 진단 설정 화면의 "This subscription is not registered with the Microsoft.Insights resource provider."
11521정성태5/15/201819675개발 환경 구성: 377. Azure - 원하는 성능 데이터로 모니터링 대시보드 구성
11520정성태5/12/201822289.NET Framework: 748. C# 7.1 - 참조 어셈블리(Ref Assemblies)
... 91  92  93  94  95  96  97  [98]  99  100  101  102  103  104  105  ...