저는 python2.7 및 python3.4와 함께 제공되는 OpenSUSE 13.2 tumbleweed를 새로 설치하여 실행하고 있습니다. Python 기반 라이브러리를 실행하는 동안 다음 오류가 계속 발생합니다 ImportError: No module named site
. 이 질문에 대한 모든 대답은 PYTHONPATH 및/또는 PYTHONHOME 환경 변수를 일부 경로로 설정하는 것과 관련이 있지만 제가 생각할 수 있는 모든 경로 조합을 시도했지만 아무것도 작동하지 않습니다. 아이디어?
문제가 있는 라이브러리는 youtube-dl 및 flexget입니다.
답변1
라이브러리 관리를 올바르게 하는 것이 배포판의 임무입니다. Python과 같은 경우에도 이를 어렵게 만들기 위해 많은 노력을 기울이는 것 같습니다.
을
#!/usr/bin/python2
사용하여 Python 2 프로그램을 실행 하거나 또는 . 사용하지 마십시오 . 두 마리의 비단뱀을 갖기 전에도 그것은 단지 어리석고 나쁜 조언일 뿐입니다.#!/usr/bin/python3
python2 script
python3 script
#!/usr/bin/env python
가능하다면 배포판 Python 라이브러리의 패키지 버전을 사용하세요. 1.2.0.0.0.0.3 버전이 패키징되려면 일주일을 기다려야 하지만 여전히 고대 버전 1.2.0.0.0.0.2에 머물러 있습니다. 아니면 몇 달. 업그레이드된 라이브러리는 시스템을 망칠 위험을 감수할 가치가 있지만 이는 극히 드뭅니다. 사용하지 않거나 "다른 라이브러리를 사용하는 것"은 "이 라이브러리를 수동으로 설치하여 시스템을 엉망으로 만드는 것"보다 거의 항상 더 나은 대답입니다.
라이브러리를 수동으로 설치해야 하는 경우시스템에 맞게 지침을 조정하세요.. 이러한 지침은 (대부분) 개발자의 시스템에 적용될 수 있지만 설정 방법에 대해 많은 가정을 하고 있으며 그 중 대부분은 사용자의 시스템에 적합하지 않을 수 있습니다. 이는 배포판의 문서와 설명을 철저히 읽고 시스템의 Python 환경과 작동 방식을 이해하는 것을 의미합니다.
배포판이 Python 라이브러리 관리 측면에서 모든 것을 올바르게 수행하더라도 시스템에 맞게 지침을 조정하지 않으면 Python 환경이 엉망이 될 수 있습니다. 이는 슬프게도 Python(및 Ruby)에서는 일반적인 결과이며 다른 프로그래밍 또는 스크립팅 언어에서는 이례적입니다. 본질적으로 배포판이나 운영 체제를 무시하고 (사용하고 사용해야 할 도구가 아닌) Python 세계에서 해결해야 할 장애물로 취급하라는 나쁜 조언이 많이 있습니다.