반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

가끔 보자, 하늘.

python 으로 작업할 때 가끔 마주치는 이슈들 정리 본문

개발 이야기/개발툴 및 기타 이야기

python 으로 작업할 때 가끔 마주치는 이슈들 정리

가온아 2024. 3. 9. 15:35

윈도우에서 pip 인식 안될 때

python -m pip ... 이렇게 입력하면 되지만 ... 귀찮죠. 환경변수에 python이 설치된 경로가 등록되어 있을 겁니다. 복사해서  뒤에 "/Scripts"를 추가 등록해 두세요. 아래처럼 등록되어 있으면 됩니다.

 

pytorch 설치 시 cu 버전에 맞게 설치하는 command

python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 <<- 현재 시스템에 설치된 cu 버전을 명명하면 됩니다. torch의 버전도 지정하고 싶다면  torch==[version] 형태로 명시하면 됩니다.

에러 메세지와 실제 현상이 매칭되지 않는 에러들

...py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 2, in <module>
    ModuleNotFoundError: No module named 'torch'
    [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
 ╰─> See above for output.

torch 모듈을 찾을 수 없다고 나오지만 pip show torch 혹은 venv나 conda에서 설치된 경우가 있습니다. 이런 경우는 몇몇 경우 setuptools의 버전 이슈들이 이런 문제를 발생시키는데 이때는 pip install --upgrade setuptools 를 실행 후 다시 실행하면 정상적으로 실행되는 것을 확인할 수 있습니다.

python_embeded 사용 시 패키지 설치에서 발생하는 빌드 에러들

ComfyUI처럼 python_embeded 버전을 포함해 사용하는 경우 C/C++ 파일들을 빌드해야 할 때면 에러가 발생합니다.

(..  예를 들어 아래와 같은 에러가 발생하는 경우..)
insightface/thirdparty/face3d/mesh/cython/mesh_core_cython.cpp(36): 
   fatal error C1083: 포함 파일을 열 수 없습니다. 
   'Python.h': No such file or directory

embeded 버전은 배포를 위해 실행에 꼭 필요한 파일들만 포함되어 있습니다. 그런데 어떤 패키지들은 Cython(https://cython.org/  Cython은 파이썬 프로그래밍 언어와 확장된 파이썬 프로그래밍 언어(파이렉스 기반) 모두를 위한 최적화 정적 컴파일러입니다. 이 컴파일러를 사용하면 Python용 C 확장을 Python 자체만큼 쉽게 작성할 수 있습니다.)을 사용하거나 혹은 다른 방식으로 C/C++ 코드를 빌드하는 경우가 있습니다

python 풀 버전은 빌드에 필요한 headers와 lib파일들을 아래와 같이 포함되어 있습니다.

패키지를 설치하려고 하는 pyhon_embeded 폴더에 include. libs 폴더를 복사해서 넣어주면 에러가 나던 패키지가 정상적으로 설치될 겁니다. (include, libs 폴더가 설치된 python의 버전과 python_embeded 버전은 일치해야 합니다.)

반응형