아나콘다 Qt 및 시스템 Qt

아나콘다 Qt 및 시스템 Qt

이것아나콘다 파이썬 프레임워크여기에는 자체 Qt 공유 라이브러리가 포함됩니다. 프레임워크의 특성으로 인해 PATH환경 변수에서 먼저 나타나야 하므로 Python 바이너리가 시스템 바이너리보다 우선합니다.

이는 누군가가 Python과 관련이 없는 프로젝트에 시스템의 Qt 공유 라이브러리를 사용하려고 할 때 충돌을 일으킵니다. Qt 프로젝트를 컴파일하면 qmake아나콘다의 바이너리와 공유 라이브러리가 사용됩니다.

qmake변수에 경로를 추가하여 바이너리를 강제로 생성할 수 있지만 PATH공유 라이브러리에서는 작동하지 않습니다. 변경을 시도했지만 LD_LIBRARY_PATH계속 아나콘다를 선택합니다.

내가 찾은 "솔루션"은 다음과 같습니다.

  1. LD_예압:Qt 공유 라이브러리를 LD_PRELOAD 환경 변수에 하나씩 추가하여 Qt 공유 라이브러리를 사용하는 .so가 시스템 라이브러리를 사용하도록 강제합니다. 이는 결국 지루하고 시간 소모적인 일이 되었습니다.
  2. 파이썬으로 장난치기:권장 사항에 따라 anaconda에서 Qt와 관련된 모든 것을 삭제하십시오.여기. Python으로 GUI 애플리케이션을 개발하려는 경우 이는 너무 지저분해 보이고 나중에 오류가 발생하기 쉽습니다.
  3. Anaconda Qt > 시스템 Qt:시스템 Qt 대신 아나콘다 Qt를 사용하십시오. 책임 배분을 잘못한 것 같습니다. 내 Qt 프로젝트는 Python과 아무 관련이 없으며 내 아나콘다 설치와 결합되어서는 안 됩니다. 그들은 서로 독립적이어야 합니다.
  4. 범죄를 저지르는 방식을 바꾸십시오:PATH내 모든 쉘은 아나콘다 경로를 변수 앞에 추가 하지 않습니다 . 대신 제안된 대로 필요할 경우 이를 앞에 추가하는 사용하기 쉬운 스크립트가 있습니다.여기. 문제는 내가 Python 바이너리를 항상 사용할 수 있도록 하는 데 익숙하다는 점이며, 이를 모르고 시스템의 Python 바이너리를 사용할 때 실수를 저지르기 쉽다는 것입니다.
  5. 아나콘다 이동:anaconda 폴더를 임시로 이동하여 경로에서 발견되지 않도록 하세요. 이것이 가장 빠른 것이지만, 시스템 Qt 라이브러리를 사용한 후에 모든 것을 고치기 위해서는 내 기억력에 너무 많이 의존합니다.

Qt는 기본적으로 anaconda에 포함된 유일한 "비 Python" 패키지가 아니므로 선험적 "실제" 솔루션은 다른 충돌 솔루션에 적용될 수 있습니다.

답변1

Simple은 기본적으로 conda를 활성화하지 않습니다. 활성화하려는 경우에만 conda를 활성화하도록 .bashrc를 수정하십시오. 이렇게 하면 시스템에서 완전히 분리할 수 있습니다. 적어도 Linux와 osx에서는 작동합니다. 창문에 대해 아무것도 모릅니다.

관련 정보