Python이 예상과 다른 socks 모듈을 가져왔습니다
SOCKS 속성이 없는 것을 프록시나 DNS 장애로 처리하기 전에 가져온 모듈을 먼저 확인하세요.
module 'socks' has no attribute 'create_connection' 같은 오류는 프록시 요청이 성공하기 전에 발생합니다. 애플리케이션이 가져온 Python 모듈부터 확인하세요.
import sys
import socks
print(sys.executable)
print(socks.__file__)
print(getattr(socks, '__version__', 'unknown'))이 확인 줄은 인터프리터와 가져온 파일을 식별합니다. 실패가 발생하는 동일한 애플리케이션 환경에서 읽으세요. 다른 가상 환경을 사용하는 터미널은 같은 이름의 다른 파일을 가져올 수 있습니다.
로컬 socks.py 파일이나 패키지가 의도한 의존성을 가리고 있는지 확인하세요. Python의 모듈 검색 경로 때문에 그 파일이 설치된 패키지보다 우선할 수 있습니다. 우연한 충돌은 의도적으로 이름을 바꾸고 이미 가져온 프로세스를 다시 시작하세요.
PySocks 소스에는 set_default_proxy과 호환 표기 setdefaultproxy가 모두 있으며 create_connection도 함께 있습니다. 따라서 표기 하나를 무작정 바꾸는 것은 누락된 속성의 완전한 진단이 아닙니다.
가져온 모듈과 버전이 올바르면 해당 프로젝트의 문서화된 API와 코드를 비교하세요. 가져오기가 동작하는 것처럼 보일 때까지 관련 없는 시스템 라이브러리 디렉터리를 Python 검색 경로에 수동으로 추가하지 마세요. 그러면 의존성 버전이 섞이고 근본적인 환경 불일치가 해결되지 않은 채 남을 수 있습니다.