환경 변수 또는를 통해 경로를 직접 수정할 필요는 없습니다 sys.path
. os (ex. apt-get
) 를 사용하든 pip
virtualenv 를 사용하든 패키지는 이미 경로상의 위치에 설치됩니다.
귀하의 예에서 GNU Radio site-packages
는 이미 경로 에있는 시스템 Python 2의 표준 위치에 설치되어 있습니다. 올바른 통역사를 가리키는 PyCharm으로 충분합니다. 그것이 없다면 분명하지 않은 다른 잘못된 것이 있습니다. /usr/bin/python
GNU Radio가 설치된 것과 동일한 인터프리터를 가리 키지 않을 수도 있습니다 . python2.7
바이너리를 구체적으로 가리켜보십시오 . 또는 PyCharm은 패키지 감지에 다소 나빴습니다. File > Invalidate Caches > Invalidate and Restart
다시 스캔하도록 지시합니다.
이 답변에서는 프로젝트 환경을 설정하고 다른 시나리오에서 패키지를 설치하고 PyCharm을 구성하는 방법에 대해 설명합니다. 공식 Python 패키징 도구를 유지 관리하는 동일한 그룹에서 작성한 Python Packaging User Guide 를 여러 번 참조 합니다.
Python 애플리케이션을 개발하는 올바른 방법은 virtualenv를 사용하는 것입니다. 패키지 및 버전은 시스템이나 다른 프로젝트에 영향을주지 않고 설치됩니다. PyCharm에는 virtualenv를 작성하고 패키지를 설치하기위한 내장 인터페이스가 있습니다. 또는 명령 줄에서 생성 한 다음 PyCharm을 가리킬 수 있습니다.
$ cd MyProject
$ python2 -m virtualenv env
$ . env/bin/activate
$ pip install -U pip setuptools # get the latest versions
$ pip install flask # install other packages
PyCharm 프로젝트에서로 이동하십시오 File > Settings > Project > Project Interpreter
. virtualenvwrapper
env를 작성하기 위해 또는 PyCharm을 사용한 경우 메뉴에 표시됩니다. 그렇지 않은 경우 톱니 바퀴를 클릭하고을 선택한 Add Local
다음 환경에서 Python 바이너리를 찾습니다. PyCharm은 선택한 환경의 모든 패키지를 표시합니다.
GNU Radio와 같은 경우에는 함께 설치할 패키지가 없으며 pip
나머지 GNU Radio (예 :)를 설치할 때 패키지가 시스템 전체에 설치되었습니다 apt-get install gnuradio
. 이 경우 여전히 virtualenv를 사용해야하지만이 시스템 패키지를 인식해야합니다.
$ python2 -m virtualenv --system-site-packages env
불행히도 모든 시스템 패키지가 env에 표시되기 때문에 약간 지저분 해 보이지만 링크 일뿐이므로 시스템에 영향을 미치지 않고 안전하게 패키지를 설치하거나 업그레이드 할 수 있습니다.
경우에 따라 개발중인 로컬 패키지가 여러 개 있고 한 프로젝트에서 다른 패키지를 사용하기를 원할 수도 있습니다. 이 경우 로컬 패키지를 다른 프로젝트의 경로에 추가해야한다고 생각할 수도 있지만, 그렇지 않습니다. 개발 모드 에서 패키지를 설치해야 합니다 . 이 모든 것은 패키지에 파일을 추가하는setup.py
것인데, 나중에 패키지를 올바르게 배포하고 배포하는 데 필요합니다.
setup.py
첫 번째 프로젝트에 대한 최소 :
from setuptools import setup, find_packages
setup(
name='mypackage',
version='0.1',
packages=find_packages(),
)
그런 다음 두 번째 프로젝트의 환경에 설치하십시오.
$ pip install -e /path/to/first/project