python:protobuf
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
| python:protobuf [2025/03/20 03:48] – 만듦 rex8312 | python:protobuf [2025/04/15 02:43] (현재) – rex8312 | ||
|---|---|---|---|
| 줄 3: | 줄 3: | ||
| protobuf가 C++ 백엔드를 사용하는지 확인 | protobuf가 C++ 백엔드를 사용하는지 확인 | ||
| <code python> | <code python> | ||
| + | # (1) | ||
| from google.protobuf.internal import api_implementation | from google.protobuf.internal import api_implementation | ||
| print(" | print(" | ||
| + | |||
| + | # (2) | ||
| + | import google.protobuf.pyext._message 에서 | ||
| + | # import error가 발생한다면, | ||
| </ | </ | ||
| + | |||
| + | * " | ||
| + | * conda로 별도 가상환경을 만들고, "pip install protobuf" | ||
| + | * 경험적으로는, | ||
| + | * 전반적으로 최신버전일 수록 pip만으로 쉽게 설치되는 것을 확인했다. | ||
| + | * 확장 파일(so 또는 pyd 확장자)을 구했다면 실행하려는 환경의 " | ||
| + | |||
| + | * pip로 설치할때, | ||
| + | * https:// | ||
| + | * 빌드된 배포판에서 내가 선택한 환경에 맞는 whl 파일 선택, 다운로드 | ||
| + | * 다운로드 받은 파일을 zip으로 확장자를 변경한 뒤 pyext에 바이너리가 있는지 확인 | ||
| + | |||
| C++ 백엔드를 사용하도록 강제 설정 | C++ 백엔드를 사용하도록 강제 설정 | ||
| 줄 15: | 줄 32: | ||
| $env: | $env: | ||
| </ | </ | ||
| + | |||
| + | ====== Windows용 python module 빌드 ====== | ||
| + | |||
| + | < | ||
| + | git clone https:// | ||
| + | cd protobuf | ||
| + | git checkout v3.20.3 | ||
| + | git submodule update --init --recursive | ||
| + | |||
| + | # /MT 옵션 사용 | ||
| + | |||
| + | uv run --with=cmake==4.0.0 cmake -G " | ||
| + | uv run --with=cmake==4.0.0 cmake --build build2 --config Release | ||
| + | |||
| + | # %CD% 현재 폴더 | ||
| + | |||
| + | set CL=/WX- / | ||
| + | set INCLUDE=%CD%\src; | ||
| + | set LIB=%CD%\build2\Release; | ||
| + | set PATH=%CD%\build2\Release; | ||
| + | |||
| + | cd python | ||
| + | uv run --python=3.10 python setup.py build --cpp_implementation | ||
| + | uv run --python=3.10 --with=wheel python setup.py bdist_wheel --cpp_implementation | ||
| + | </ | ||
| + | |||
| | | ||
| {{tag> | {{tag> | ||
python/protobuf.1742442537.txt.gz · 마지막으로 수정됨: 저자 rex8312