openlang

이 사용 중단 경고를 없애려면 Python import를 어떻게 써야 하나요?

안녕하세요, Python은 처음이에요. collections.abc 대신 'collections'를 통해 ABC를 사용하거나 가져오면 Python 3.10에서 작동하지 않는다는 DeprecationWarning이 나와요

import pymssql as pymssql

임포트 시스템 문서(https://docs.python.org/3/reference/import.html)는 기술적으로 정확해 보이는데, from과 import를 어떻게 조합해 봐도 구문 오류가 나네요.

Raspberry Pi의 armv7l GNU/Linux에서 python 3.9.2를 실행하고 있어요

python3 -m pip show pymssql를 보면 /usr/lib/python3/dist-packages 아래에 설치돼 있다고 해요

그 디렉터리에는 pymssql-2.1.4.egg-info와 pymssql.cpython-39-arm-linux-gnueabihf.so가 있어요

어떤 import 문을 써야 하는지 알려 주실 수 있나요?

영어에서 번역원문 보기

이어지는 대화 3

서로의 근거를 따라
  1. 고유 링크

    안녕하세요, Python은 처음이에요. collections.abc 대신 'collections'를 통해 ABC를 사용하거나 가져오면 Python 3.10에서 작동하지 않는다는 DeprecationWarning이 나와요 import pymssql as pymssql

    나오는 예외의 전체 트레이스백을 올려 주세요. 직접 작성한 코드가 아니라 pymssql 내부의 문제일 가능성이 높아요. 안타깝게도 외부 패키지가 이런 경고를 내는 건 꽤 흔하니 트레이스백을 따라가서 정확히 어디서 나온 건지 확인해야 해요.

    pymssql의 더 새로운 버전도 있는 것 같아요. 필요한 사전 구성 요소가 없어서 사용 중인 버전이나 새 버전 모두 설치해 볼 수 없지만, 업그레이드는 고려해 볼 만해요. (참고로 프로젝트 GitHub(https://github.com/pymssql/pymssql/)의 “Releases” 목록은 오해하기 쉬워요. 2020년 이후 거기에 릴리스가 올라온 적이 없는 듯하거든요. 그래도 그 저장소에서 개발은 활발하게 이뤄지는 것 같아요.) 이 경고를 다룬 닫힌 이슈(https://github.com/pymssql/pymssql/issues/576)를 찾았는데, 2.1.5 버전에 수정이 들어갔다고 하니 2.1.x든 2.3이든 업그레이드하면 해결될 가능성이 높겠어요.

    영어에서 번역원문 보기
  2. 고유 링크

    좋네요, 조사하느라 수고해 주신 Tavin께 감사해요! 보통은 정말 99.8퍼센트쯤 제 잘못이라서 이번에도 제 문제인 줄 알았어요. 알겠습니다. 최신 / 작동하는 pymssql을 설치해 볼게요. 그동안은 Deprecation 경고를 숨기되 pymssql 경고만 빼도록 주의할게요. 눈치채셨겠지만 저도 사용자와 지원이 많은 mysql이 좋지만… “고객이 원하면 해야죠” :wink: 제 200여 줄 코드는 이미 돌아가니 지루한 얘기와 마땅한 비판은 생략할게요. 다시 감사합니다!

    영어에서 번역원문 보기
  3. 고유 링크

    보통은 정말 99.8퍼센트쯤 제 잘못이라서 이번에도 제 문제인 줄 알았어요.

    그렇게 시작하는 건 좋아요 :slight_smile: 그래도 트레이스백 읽는 법을 익히면 라이브러리에서 발생한 문제를 알아볼 수 있게 돼요.

    눈치채셨겠지만 저도 사용자와 지원이 많은 mysql이 좋지만… “고객이 원하면 해야죠”

    MS SQL Server를 쓰는 선택을 비판하는 건 아니에요;[1] (#footnote-409572-1) 관련된 게 아무것도 설치돼 있지 않아서 바로 venv를 만들고 여러 버전을 시험해 같은 문제가 있는지 볼 수 없다는 뜻이에요.

    도움이 됐다니 좋네요!

    개인적으로는 PostgreSQL을 제일 좋아하지만요! ↩︎ (#footnote-ref-409572-1)

    영어에서 번역원문 보기

같은 질문의 다른 갈래

  1. docker-compose 콘솔 출력 줄이기

    개발 환경에서 docker-compose up으로 모든 서비스를 시작하면 컨테이너 몇 개가 수백 줄씩 출력을 쏟아내요. 이 출력을 간편하게 걸러 낼 수 있을까요? 아니면 더 좋게는 docker-compose up이 실행되는…

    답글 3최근 활동 bash
  2. C 대신 D로 Python 확장 모듈을 만들 수 있을까요?

    D는 C와 링크할 수 있다고 하더군요. D로 Python 확장 모듈을 작성하고 싶어요. 제가 놓친 이유 때문에 이 방법이 아예 불가능한 건 아닐까요?

    답글 2최근 활동 d
  3. Micro 플러그인을 Nix에서 선언할 수 있나요?🤔

    python에서는 이렇게 쓸 수 있어요: Python.withPackages (q: with q; [ fastapi ]) Micro 에디터에도 같은 방식이 있나요? micro 에디터 패키지와 플러그인을 함께 지정할 수 있나요…

    답글 3최근 활동 nix