programing

AttributeError: 부분적으로 초기화된 모듈을 수정하는 방법?

padding 2023. 5. 8. 21:56
반응형

AttributeError: 부분적으로 초기화된 모듈을 수정하는 방법?

스크립트를 실행하려고 하는데 다음 오류가 계속 발생합니다.

File ".\checkmypass.py", line 1, in <module>
  import requests 
line 3, in <module>
  response = requests.get(url) 
AttributeError: partially initialized module 'requests' has no attribute 'get' (most likely due to a circular import)

어떻게 고칠 수 있습니까?

가져온 모듈과 이름이 같은 로컬 파일이 있을 때 발생할 수 있습니다. Python은 로컬 파일을 보고 모듈이라고 생각합니다.

제 경우, 같은 폴더에 만든 파일이 있었습니다.requests.py그래서 제 코드는 실제로 파일가져오는 것이지 실제 파일을 가져오는 것이 아니었습니다.requestspip로 설치하는 모듈.그리고 나서 제가 만든 파일에 다른 문제가 있었습니다.logging.py저는 두 파일의 이름을 모두 바꾸었고 문제는 해결되었습니다.

파일 이름이 가져올 모듈과 동일하지 않아야 합니다. 이렇게 하면 Python은 순환 종속성이 있다고 생각합니다.

사용 중인 URL과 패키지도 확인하십시오.순환 가져오기로 인해 발생할 가능성이 가장 높음은 다른 항목에 종속되어 있고 이미 가져온 상태에서 가져오려고 하는 파일(모듈)을 말합니다.정확한 정보를 얻으면 다음과 같은 정보를 얻을 수 있습니다.

import requests

r = requests.get("http://google.com")       
print(r.status_code)

# 200

저도 같은 오류를 겪고 있었습니다.가상 환경을 삭제하고 새로 설치했습니다.저의 경우 일부 모듈이 반복적으로 설치되어 venv/Lib 폴더에서 문제가 발생한 것을 확인할 수 있었습니다.

특히 vaex를 설치할 때 다음과 같은 일련의 명령으로 인해 이러한 문제가 발생했습니다.

conda install pydantic[dotenv]
# This failed: "import vaex" so retried pip.
pip install pydantic[dotenv]
# On "import vaex", got error in OP.

그리고 해결책:

conda uninstall pydantic[dotenv]
pip install pydantic[dotenv] --force-reinstall
# Now "import vaex" worked perfectly.

언급URL : https://stackoverflow.com/questions/59762996/how-to-fix-attributeerror-partially-initialized-module

반응형