VM 및 PyCharm으로 사용자 지정 PYTHONPATH를 구성하는 방법은 무엇입니까?


85

내 Vagrant VM과 통신하기 위해 Python 플러그인 및 원격 통역사 기능 과 함께 IntelliJ를 사용하고 있습니다. 내 VM의 인터프리터를 사용하도록 원격 인터프리터를 올바르게 설정합니다. 그러나 VM에서 사용자 지정 PYTHONPATH를 사용하고 IntelliJ가 해당 경로를 인식하고 개발할 때 해당 경로에 모듈을 포함하기를 바랍니다.

VM에서 사용자 지정 PYTHONPATH를 사용하도록 IntelliJ / PyCharm의 원격 인터프리터를 구성하려면 어떻게해야합니까?


나는 공통 계획을 따르는 많은 프로젝트가 있고 지금 (Emacs에서) 모든 것을 동적으로 설정한다는 점을 제외하면 정확히이 문제가 있습니다. Pycharm에서 프로젝트별로 설정하는 것은 부담처럼 보입니다.
AdamC

답변:


124

PyCharm 5 (또는 2016.1)의 경우 다음을 수행 할 수 있습니다.

  1. 환경 설정> 프로젝트 해석기를 선택하십시오.
  2. 통역사 선택기 오른쪽에 "..."버튼이 있습니다.
  3. "더 ..."를 선택하십시오.
  4. 새 "프로젝트 통역사"창 팝업
  5. 가장 오른쪽 버튼을 선택합니다 ( "선택한 인터프리터의 경로 표시"라고 함).
  6. "통역사 경로"창 팝업
  7. "+"버튼을 클릭하고> 원하는 PYTHONPATH 디렉토리 (python 모듈이 포함 된 폴더)를 선택하고 확인을 클릭합니다.
  8. 끝난! 그것을 즐기십시오!

여기에 이미지 설명 입력

여기에 이미지 설명 입력

여기에 이미지 설명 입력 여기에 이미지 설명 입력


이것이 제가 프로젝트에서하는 일입니다. 프로젝트 A, 프로젝트 공통, 프로젝트 테스트가 있습니다. 프로젝트 테스트에서 단위 테스트를 실행하기 위해 프로젝트 테스트가 프로젝트 A 및 공통에 종속되도록 프로젝트 종속성을 추가했지만 여전히 A 및 공통 폴더를 PYTHONPATH에 수동으로 추가해야합니다.
thinkanotherone

그러면 해당 인터프리터의 전역 PYTHONPATH에 디렉토리가 추가됩니다. 프로젝트뿐 아니라?
Ray

@Ray 예, 글로벌 인터프리터 설정을 변경하는 것 같습니다. 그러나 우리는 서로 다른 프로젝트에 대해 서로 다른 virtualenv를 사용하고 서로 다른 PYTHONPATH를 설정할 수 있습니다.
phil 2016 년

먼저 인터프리터를 프로젝트의 인터프리터로 설정해야합니다. 그렇지 않으면 가장 왼쪽 버튼이 비활성화됩니다
ospider

OSX에서 Cmd + Shift + Period는 선택 대화 상자 (예 : / usr)에 숨겨진 폴더를 표시합니다. 경로를 입력하는 방법이없는 것 같기 때문입니다.
플래시

83

PYTHONPATH를 편집하거나 코드 검사를위한 가져 오기 해결 문제를 수정하는 방법은 다음과 같습니다.

  1. 환경 설정을 엽니 다 (Mac에서 키보드 단축키는 ⌘,).

메뉴에서 설정으로 이동하는 방법

  1. 를 찾아 Project Structure왼쪽 아래에있는 사이드 바에서Project: Your Project Name

  2. 오른쪽 사이드 바에서 모듈 추가 또는 제거

Pycharm 4.5의 프로젝트 구조 설정

편집 : PyCharm 4.5에 대한이 스크린 샷을 업데이트했습니다.


그래도 적용 되나요? 나는 아마도 최신 PyCharm 전문가를 가지고 있지만 그 카테고리가 많이 누락되었습니다 ... 프로젝트 구조 포함! 그러나 이것을 게시 해 주셔서 감사합니다 !!!
R 크레이븐

1
안녕하세요. 최신 버전 인 PyCharm 4.5의 스크린 샷을 업데이트했습니다. 사이드 바의 설정을 재구성 한 것 같습니다.
Bjorn

사실 나는 당신에게 엄청난 감사를 드리고 있습니다. 프로젝트 설정 대신 "기본 설정"을 엉망으로 만들었습니다. 여기에 귀하의 답변은 이것을 깨닫는 데 도움이되었고 많은 불일치를 해결했으며 효과가있었습니다. 감사합니다!
R Claven

이 작업을 전 세계적으로 수행 할 수있는 방법이 있습니까? /Library/Python/2.7/site-packages 및 /usr/local/lib/python2.7/site-packages를 내가 여는 모든 프로젝트에 추가합니다.
jeremyjjbrown

예 @jeremyjjbrown, "프로젝트 인터프리터"를 클릭하고 원하는 사이트 패키지가있는 인터프리터 경로를 선택하면됩니다. 이 질문은 프로젝트에 특정 패키지를 사용할 수 있도록하는 것에 대한 대답이었습니다. requirements.txt를 사용하여 pycharm에 모든 deps 프로젝트를 추가 할 수도 있습니다.
Bjorn

16

나에게 해결책은

Run > Edit Configuration > Defaults > Python

그런 다음 관리

  • "PYTHONPATH에 콘텐츠 루트 추가"및
  • "PYTHONPATH에 소스 루트 추가"

확인란과 "작업 디렉토리"필드 설정.

자체 실행 / 디버그 구성을 설정 한 경우 다음으로 이동하는 것이 좋습니다.

Run > Edit Configuration > Python > [Whatever you called your config]

거기에서 편집하십시오.

내 문제는 PyCharm 2016.2 프로젝트에 전체 저장소를 포함하고 싶었지만 하위 폴더 만 실제 파이썬 소스 코드 루트였습니다. 폴더를 마우스 오른쪽 버튼으로 클릭하여 "소스 루트"로 추가 한 다음

Mark directory as > Source Root

그런 다음 실행 / 디버그 구성 메뉴에서 "Add content roots to PYTHONPATH"를 선택 취소하고 "Add source root to PYTHONPATH"를 선택합니다. 그런 다음 다음을 수행하여 폴더 경로를 확인했습니다.

import sys
logger.info(sys.path)

결과는 다음과 같습니다.

[
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', 
    '/usr/lib/python3.4/lib-dynload', 
    '/usr/local/lib/python3.4/dist-packages', 
    '/usr/lib/python3/dist-packages'
]

그러나 수정 없이는 다음과 같이 말했습니다.

[
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/local/my_project_root',                   <-- NOT WANTED
    '/usr/lib/python3.4', 
    '/usr/lib/python3.4/plat-x86_64-linux-gnu', 
    '/usr/lib/python3.4/lib-dynload', 
    '/usr/local/lib/python3.4/dist-packages', 
    '/usr/lib/python3/dist-packages'
]

즉, 프로젝트 루트 폴더가 포함되어 있습니다. 이것은 나를 위해 경로를 엉망으로 만들었습니다.


감사합니다. 저는 Python 전문가가 아니며 내가 도달 할 수있는 가져 오기 경로를 엿보는 방법을 궁금해했습니다! (그 sys.path부분)
Rastikan

모든 실행 구성을 업데이트해야하므로 이상적이지 않습니다 .
StephenBoesch

@javadba 모든 구성에 대해 작동하려면 Run > Edit Configuration > Templates > Python대신 이동하십시오 .
André C. Andersen

@ AndréC. Andersen thx! 난 결코 보지 않았다 에서 템플릿 전에.
StephenBoesch

13

이것은 PyCharm Community 2019.1에서 수행되었습니다.

  1. 프로젝트 설정으로 이동 설정
  2. 프로젝트 구조로 이동하여 추가하려는 디렉토리를 마우스 오른쪽 단추로 클릭하고 "소스"를 클릭하십시오. 프로젝트 구조-소스 추가

이것은 당신의 pythonpath에 디렉토리를 추가해야합니다 프로젝트 구조-소스 추가 후


3

최신 버전의 Pycharm (예 : 2019.2)에 대해 제공된 정답 phil에 대한 업데이트 입니다.

파일> 설정으로 이동 하여 프로젝트를 찾은 다음 프로젝트 인터프리터 를 선택 합니다. 이제 선택한 프로젝트 인터프리터의 오른쪽에있는 톱니 바퀴가있는 버튼을 클릭합니다 (예전에는 ... ).

여기에 이미지 설명 입력

드롭 다운 메뉴에서 모두 표시 ...를 선택 하고 열리는 대화 상자에서 폴더와 두 개의 하위 폴더가있는 아이콘을 클릭합니다.

여기에 이미지 설명 입력

현재 인터프리터 경로가있는 대화 상자가 표시되면 + 를 클릭하여 하나를 더 추가합니다.


감사합니다!!! 동료와 저는 그의 환경을 저와 일치하도록 설정하기 위해 고군분투 해 왔으며 이러한 단계를 수행 한 기억 이 없습니다 . 그러나 제가 가지고있는 중요한 경로가 있습니다 ( "사용자가 추가"라고도 함).
Drarok

2

내 경험상 PYTHONPATH 변수를 사용하는 것은 Windows에서 VENV와 잘 작동하지 않기 때문에 일반적으로 잘못된 접근 방식입니다. 로드시 PYTHON은 경로 앞에 PYTHONPATH를 추가하여 경로를 준비합니다. 그러면 신중하게 준비된 Venv가 우선적으로 전역 사이트 패키지를 가져올 수 있습니다.

PYTHON 경로를 사용하는 대신 관련 사이트-패키지 디렉토리에 pythonpath.pth 파일을 포함합니다 (사용자 지정 python은 때때로 다른 위치에서 찾습니다. 예를 들어 python.exe와 동일한 디렉토리에서 .pth 파일을 찾습니다). 각 가상 환경. 이것은 PYTHONPATH처럼 작동 할 것입니다. 단지 파이썬 설치에 한정 될 것입니다. 그래서 여러분은 각 파이썬 설치 / 환경에 대해 별도의 것을 가질 수 있습니다. Pycharm은 VENV의 python을 python 설치로 사용하면 VENV와 강력하게 통합됩니다.

예를 참조하십시오 이 SO 질문 .... .pth 파일에 대한 자세한 내용을


1

주어진 인터프리터에 대한 PYTHONPATH에 대한 최신 12/2019 선택. 여기에 이미지 설명 입력


0

통역사의 대화 상자로 이동하면됩니다. 사용중인 인터프리터를 클릭하면 그 아래에 패키지라는 두 개의 탭과 경로라는 두 개의 탭이 표시됩니다.

경로를 클릭하고 VM 경로를 추가하십시오.


원격 인터프리터를 클릭하고 클래스 경로를 추가하면 원격 디렉토리 (예 :)를 지정할 때 불평 /home/vagrant/mydir합니다. 경로 앞에 무언가를 추가해야합니까? 도움이된다면 PyCharm이 아닌 Python 플러그인과 함께 IntelliJ를 사용하기 때문에 인터페이스가 약간 다릅니다.
baalexander 2013 년

1
SSH 인터프리터로 이동하여 vagrant 파일에서 항목을로드 할 수 있습니다. 옵션이 있습니다.
Games Brainiac 2013-06-20


0

Intellij v2017.2에서는 다음으로 이동할 수 있습니다.

run > edit configurations > click ... next to the field 'Environment variables' > click the green + sign

이름 = PYTHONPATH

value = your_python_path

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.