본문 바로가기

Python283

Python 파이썬에서 상대적인 임포트를 어떻게 할 수 있을까요?, How can I do relative imports in Python? 질문 이 디렉토리 구조를 상상해보세요: app/ __init__.py sub1/ __init__.py mod1.py sub2/ __init__.py mod2.py 저는 mod1을 코딩하고 있으며, mod2에서 무언가를 가져와야 합니다. 어떻게 해야 할까요? from ..sub2 import mod2를 시도해봤지만, "Attempted relative import in non-package"라는 오류가 발생합니다. 인터넷에서 검색해봤지만, "sys.path 조작" 트릭만을 찾을 수 있었습니다. 깔끔한 방법은 없을까요? 지금은 모든 __init__.py가 비어있습니다. 저는 이렇게 하려고 하는데, sub2에는 sub 패키지(sub1, subX 등) 간에 공유되는 클래스들이 포함되어 있습니다. 원하는 동작은 .. 2023. 9. 11.
Python 파이썬 오류 "ImportError: 모듈이름이 없음", Python error "ImportError: No module named" 질문 파이썬은 로컬 디렉토리에 설치되어 있습니다. 저의 디렉토리 트리는 다음과 같습니다: (로컬 디렉토리)/site-packages/toolkit/interface.py 제 코드는 여기에 있습니다: (로컬 디렉토리)/site-packages/toolkit/examples/mountain.py 예제를 실행하기 위해 python mountain.py라고 작성하고, 코드 안에는 다음이 있습니다: from toolkit.interface import interface 그리고 다음과 같은 오류가 발생합니다: Traceback (most recent call last): File "mountain.py", line 28, in ? from toolkit.interface import interface ImportE.. 2023. 9. 10.
Python 스레드에서 반환 값을 어떻게 얻을 수 있나요?, How to get the return value from a thread? 질문 아래의 함수 foo는 문자열 'foo'를 반환합니다. 스레드의 대상에서 반환된 'foo' 값을 어떻게 얻을 수 있을까요? from threading import Thread def foo(bar): print('hello {}'.format(bar)) return 'foo' thread = Thread(target=foo, args=('world!',)) thread.start() return_value = thread.join() 위에서 보여진 "하나의 명백한 방법"은 작동하지 않습니다: thread.join()은 None을 반환했습니다. 답변 하나의 방법은 가변 객체(예: 리스트 또는 사전)를 스레드의 생성자와 함께 전달하여 스레드가 해당 객체의 전용 슬롯에 결과를 저장하는 것입니다. 예를 들면.. 2023. 9. 10.
Python 파이썬 인터프리터의 전체 경로를 찾으세요., Find full path of the Python interpreter? 질문 현재 실행 중인 Python 스크립트 내에서 현재 실행 중인 Python 인터프리터의 전체 경로를 어떻게 찾을 수 있을까요? 답변 sys.executable는 현재 실행 중인 Python 인터프리터의 전체 경로를 포함합니다. import sys print(sys.executable) 이제 여기에서 문서화되어 있습니다 2023. 9. 10.