programing

PyCharm의 터미널 내에서 가상 환경을 활성화하려면 어떻게 해야 합니까?

sourcejob 2023. 7. 18. 21:42
반응형

PyCharm의 터미널 내에서 가상 환경을 활성화하려면 어떻게 해야 합니까?

저는 PyCharm을 설정하고, virtual env 명령을 통해 또는 직접 PyCharm에 가상 환경을 생성하고, 해당 환경을 인터프리터로 활성화했습니다.모든 것이 잘 되고 있습니다.

그러나 "Tools, Open Terminal"을 사용하여 터미널을 여는 경우 제공된 셸 프롬프트가 가상 환경을 사용하지 않고 계속 사용해야 합니다.source ~/envs/someenv/bin/activate터미널 내에서 활성화할 수 있습니다.

또 다른 방법은 셸에서 환경을 활성화하고 해당 환경에서 PyCharm을 실행하는 것입니다.이것은 "작업 가능"하지만 꽤 추악합니다. PyCharm에서 환경이나 프로젝트를 전환하면 큰 문제가 발생합니다. 저는 지금 완전히 잘못된 환경을 사용하고 있습니다.

"Tools, Open Terminal"을 통해 가상 환경을 자동으로 활성화할 수 있는 다른 훨씬 쉬운 방법이 있습니까?

편집:

https://www.jetbrains.com/pycharm/whatsnew/ #v2016-3-venv-in-terminal에 따르면 PyCharm 2016.3(2016년 11월 출시)은 기본 제공 단말기에 대한 가상 환경 지원을 제공합니다.

자동 가상 환경은 bash, zsh, fish 및 윈도우즈 cmd에 대해 지원됩니다.설정(기본 설정) | 도구 | 터미널 | 가상 환경 활성화 선택에서 셸 기본 설정을 사용자 지정할 수 있습니다.

또한 프로젝트 구조의 컨텐츠 루트 폴더에 가상 환경 경로가 포함되어 있어야 합니다.사용자 환경이 프로젝트 디렉터리에 포함되지 않은 경우 설정(기본 설정) | 프로젝트 | 프로젝트 구조 |로 이동할 수 있습니다.


***Old Method:***

.pycharmrc의 홈 폴더에 이 있습니다.

source ~/.bashrc
source ~/pycharmvenv/bin/activate

virtualenv 경로를 마지막 매개 변수로 사용합니다.

그런 다음 셸 기본 설정 -> 프로젝트 설정 -> 셸 경로를 다음으로 설정합니다.

/bin/bash --rcfile ~/.pycharmrc

업데이트:

설정(기본 설정) | 도구 | 터미널의 기본 설정은 전역입니다.
현재 이름을 .

"cmd.exe" /k ""%CD%\venv\Scripts\activate"" 

사용자의 : 환경에서 할 때 사용의: PyCharm 할 수 있습니다./K 변수 to 한대 변수 개매 에▁to.cmd.exe가상 환경을 자동으로 설정합니다.

3 4: PyCharm 3 는또 4:Settings,Terminal,Default shell 가추를 합니다./K <path-to-your-activate.bat>.

PyCharm 5:Settings,Tools,Terminal 가추를 합니다./K <path-to-your-activate.bat>Shell path.

2016 2016 PyCharm 2016.1 는또 2016.2:Settings,Tools,Terminal 가추를 합니다.""/K <path-to-your-activate.bat>""Shell path를 추가합니다(따옴표에 주의).cmd에 따옴표를 하여 다음과 같은를 가져옵니다.

"cmd.exe" /k ""C:\mypath\my-venv\Scripts\activate.bat""

윈도우즈 사용자가 윈도우즈 아래에서 PyCharm 및 가상 환경을 사용하는 경우 /k 매개 변수 to cmd.exe를 사용하여 가상 환경을 자동으로 설정할 수 있습니다.

Terminal, 하여 설정, 터널, 기셸이를 합니다./K <path-to-your-activate.bat>.

저는 이전 답변에 대해 언급할 만한 평판이 없으므로 이 수정된 버전을 게시합니다.이것은 정말 많은 시간을 절약합니다.

업데이트:

참고: Pycharm은 이제 가상 환경을 직접 지원하므로 저에게 적합한 것 같습니다. 따라서 더 이상 해결책이 필요하지 않습니다.

어떻게든 작은 속임수가 저에게 효과가 있었습니다.기본 터미널을 Power shell에서 CMD로 변경하기만 하면 됩니다.

  1. pycharm 열기 --> 설정으로 이동 --> 도구 --> 터미널
  2. 변할내용을 합니다.Shell PathC:\Windows\system32\cmd.exePS
  3. 항목을 합니다.Activate virtualenv
  4. 트히를 .apply그리고 새로운 터미널을 엽니다.

2021년부터는 파일 경로를 지정하거나 환경 변수를 추가할 필요가 없습니다.

업데이트: 2022년인데 같은 문제가 발생했습니다. 수정: 위의 단계를 따르고 추가로 프로젝트 파이썬 인터프리터로 가상 envython.exe를 선택했는지 확인하십시오. 이상입니다.

Windows 버전을 사용하는 경우 매우 쉽습니다. 사용하고 경우 만 하면 됩니다.activate.bat東京의 Scripts폴더를 누릅니다.전체 경로를 복사하여 Pycharm의 터미널에 붙여넣은 다음 를 누릅니다.Enter그리고 당신은 끝났어요!

새 가상 환경을 생성해야 하는 경우:

[파일] > [설정]으로 이동project interpreter열어서 기어 버튼을 클릭하고 원하는 곳에 환경을 조성한 다음 첫 번째 단락을 따릅니다.

The Gear!

위의 모든 답변을 살펴보았지만 어느 것도 저에게 우아하지 않습니다. 2017 컴퓨터에서에서 가장 은 PyCharm 2017.1.3(으)로 여는 것입니다.Settings->Tools->Terminal 그고체크를 확인합니다.Shell integration그리고.Activate virtualenv옵션들.

image

피터의 대답과 실험을 바탕으로, 저는 다음을 해결하는 좋은 "일반적인 해결책"을 생각해냈습니다.

  • 로그인 셸의 동작을 복원합니다.PyCharm은 일반적으로 로그인 셸을 실행하지만 --rcfile은 이러한 발생을 중지했습니다.스크립트는 여전히 --rcfile을 사용하지만 로그인 셸의 INVOCATION 동작을 에뮬레이트하려고 시도합니다.
  • 각 환경에 대한 arc 파일을 생성할 필요가 없습니다.
  • 환경을 변경할 경우 프로젝트 설정을 업데이트할 필요가 없습니다.

이 스크립트를 빈 디렉토리 어딘가에 놓습니다.예: ~/bin/pycharm 활성화

if [ -r "/etc/profile" ] ; then . /etc/profile ; fi
if [ -r "~/.bash_profile" ] ; then
    . ~/.bash_profile
elif [ -r "~/.bash_login" ] ; then
    . ~/.bash_login
elif [ -r "~/.profile" ] ; then
    . ~/.profile
fi
ACTIVATERC=`cat .idea/workspace.xml | perl -n -e 'print "\$1/bin/activate" if m:option name="SDK_HOME" value="\\\$USER_HOME\\\$(.*)/bin/python":'`
if [ -n "$ACTIVATERC" ] ; then . "$HOME/$ACTIVATERC" ; else echo "Could not find virtualenv from PyCharm" ; fi

그런 다음 PyCharm의 Shell 경로를 다음으로 설정합니다.

/bin/bash --rcfile ~/bin/pycharmactivate

PyCharm 4는 이제 IDE에 가상 엔브이를 통합했습니다.프로젝트 인터프리터를 선택할 때 가상 환경을 생성, 추가 또는 선택할 수 있습니다.구성된 프로젝트 인터프리터에서 실행되는 "Python Console"을 추가했습니다.

자세한 내용은 여기.

감사합니다. 크리스, 당신의 스크립트는 일부 프로젝트에서 작동했지만 제 컴퓨터에서는 작동하지 않았습니다.여기 제가 쓴 대본이 있는데 누구나 유용하게 쓰였으면 좋겠습니다.

#Stored in ~/.pycharmrc 

ACTIVATERC=$(python -c 'import re
import os
from glob import glob

try:
  #sets Current Working Directory to _the_projects .idea folder
  os.chdir(os.getcwd()+"/.idea") 

  #gets every file in the cwd and sets _the_projects iml file
  for file in glob("*"): 
    if re.match("(.*).iml", file):
      project_iml_file = file

  #gets _the_virtual_env for _the_project
  for line in open(project_iml_file):
    env_name = re.findall("~/(.*)\" jdkType", line.strip())
    # created or changed a virtual_env after project creation? this will be true
    if env_name:
      print env_name[0] + "/bin/activate"
      break

    inherited = re.findall("type=\"inheritedJdk\"", line.strip())
    # set a virtual_env during project creation? this will be true
    if inherited:
      break

  # find _the_virtual_env in misc.xml
  if inherited:
    for line in open("misc.xml").readlines():
      env_at_project_creation = re.findall("\~/(.*)\" project-jdk", line.strip())
      if env_at_project_creation:
        print env_at_project_creation[0] + "/bin/activate"
        break
finally:
  pass
')

if [ "$ACTIVATERC" ] ; then . "$HOME/$ACTIVATERC" ; fi

프로젝트를 다른 디렉터리로 이동한 경우 설정 대화 상자를 통해 새 경로를 설정할 수 있습니다.그런 다음 구성 편집 대화 상자에서 이 프로젝트 인터프리터를 설정해야 합니다.

enter image description here

enter image description here

Mac에서는 PyCharm => 기본 설정... => 도구 => 터미널 => 가상 환경을 활성화합니다. 이 기능은 기본적으로 활성화되어야 합니다.

방금 홈 디렉토리에 pycharmactivate라는 스크립트를 추가했습니다.PyCharm (4.0.1) File > Settings > Tools > Terminal > Shell path to /bin/bash --rcfile ~/pycharmactivate의 값을 설정합니다.프로젝트 및 가상 환경 디렉토리/이름이 다른 경우에는 최상의 솔루션이 아닐 수도 있지만, 저에게는 적합합니다.이 스크립트에는 다음 3개의 행이 포함되며 가상 환경의 이름이 프로젝트 dir와 동일하다고 가정합니다.

source ~/.bashrc
projectdir=${PWD##*/}
source ~/.virtualenvs/$projectdir/bin/activate

소스 코드 폴더에 activate_env.bat(윈도우즈, 아마도 Linux에서 .sh) 파일을 만듭니다.

/env_yourenvlocate/scripts/activate.bat

다른 파일 deactivate_env.bat:

/env_yourenvlocate/scripts/deactivate.bat

터미널 창을 열 때마다 bat 파일을 실행하여 가상 환경을 활성화/비활성화하면 소스 코드 경로에 머물게 되며, 경로를 변경할 필요가 없습니다.

E:\Projects\django_study\src>active_env.bat

E:\Projects\django_study\src>../env_django_study/scripts/activate.bat
(env_django_study) E:\Projects\django_study\src>



(env_django_study) E:\Projects\django_study\src>deactive_env.bat

(env_django_study)E:\Projects\django_study\src>../env_django_study/scripts/deactivate.bat
E:\Projects\django_study\src>

피터의 답변에 이어서, 여기 맥 버전의..pycharmrc파일 이름:

source /etc/profile
source ~/.bash_profile
source  <venv_dir>/bin/activate

암탉.

WSL용 솔루션(Windows의 Ubuntu)

WSL(Windows의 Ubuntu)을 사용하는 경우 pycharm에서 bash를 터미널로 열고 Linux 가상 환경을 활성화할 수도 있습니다.

을 합니다..pycharmrcGibson의된 것과 ; 합니다..pycharmrc다음 내용으로 홈 디렉토리에 파일을 저장합니다.

source ~/.bashrc
source ~/path_to_virtualenv/bin/activate

Pycharm File > Settings > Tools > Terminal에서 다음 'Shell path'를 추가합니다.

"C:/Windows/system32/bash.exe" -c "bash --rcfile ~/.pycharmrc"


프로젝트별 가상 환경

에서 가상 에 대한 경로.pycharmrc절대적일 필요는 없습니다.프로젝트 디렉터리에서 상대 경로를 설정하여 프로젝트별 가상 환경을 설정할 수 있습니다. 나의 디렉토리 있는 '에, 나의 가환경상항아 'venv' 다니습있..pycharmrc파일은 다음과 같습니다.

source ~/.svrcsource ~/pycharmvenv/bin/basic #절대 경로source ./venv/bin/sys #syslog 경로


보너스: 자동으로 ssh 터널을 열어 virtualenv를 프로젝트 인터프리터로 연결합니다.

다을추다니에 합니다..pycharmrc파일 이름:

if [ $(ps -aux | grep -c 'ssh') -lt 2 ]; then
    sudo service ssh start 
fi

SSH 터널이 이미 열려 있는지 확인하고 그렇지 않은 터널을 엽니다.Pycharm의 File -> Settings -> Project -> Project Interpreter에서 다음 구성을 가진 새 원격 인터프리터를 추가합니다.

+--------------------------+---------------------------------+-------+----+이름 : | <통역명> | | |선택 | 'SSH 자격 증명' | | |호스트: | 127.0.0.1 | 포트: | 22 |사용자: | <리눅스 사용자 이름> | | |인증 유형: | '비밀번호' | | |암호: | <리눅스 암호> | | |Python 인터프리터 경로: | <가상 환경의 Linux 경로> | |Python 도우미 경로: | <자동으로 설정> | | |+--------------------------+---------------------------------+-------+----+

이제 프로젝트를 열면 가상 환경에서 bash가 자동으로 시작되고 ssh 터널이 열리고 pycharm이 가상 환경을 원격 인터프리터로 연결합니다.

warning: Windows의 마지막 업데이트는 시작 시 자동으로 SshBroker 및 SshProxy 서비스를 시작합니다.이렇게 하면 Linux에서 Windows로 연결되는 SSH 터널이 차단됩니다.작업 관리자 -> 서비스에서 이러한 서비스를 중지하면 모든 작업이 다시 작동합니다.

저도 파이참의 venv와 같은 문제가 있었습니다.하지만 그것은 큰 문제가 아닙니다!그냥 하기:

  1. 터미널 venv 디렉토리( cd venv/Scripts/ )에 입력합니다.
  2. 활성화가 표시됩니다.방망이
  3. activate를 입력하면 됩니다.이 후에 당신의 터미널에서 당신은 당신의 (venv)를 보게 될 것입니다.

Windows 7(윈도우 7) 시스템에서 작동하는 솔루션이 있습니다.

나는 PyCharm의 터미널이 실행된 결과라고 생각합니다.cmd.exe Windows(윈도우)가 됩니다.PATH변수, 그리고 그 안에서 가장 먼저 찾은 파이썬 버전을 사용합니다.PATH이 변수를 편집하려면 내 컴퓨터 --> 속성 --> 고급 시스템 설정 --> 고급 탭 --> 환경 변수...를 마우스 오른쪽 버튼으로 누르십시오.단추를 채우다System variables 섹션에서 다음을 선택하고 편집합니다.PATH변수.

에 저의 .PATH 편집 전:

C:\Python27\;
C:\Python27\Lib\site-packages\pip\;
C:\Python27\크립트;
C:\Python27\Lib\site-packages\django\bin;

...편집PATH3줄만):

C:[project_path]\virtualenv-Py2.7_Dj1.7\Lib\site-packages\pip;
C:[project_path]\virtualenvs\virtualenvs-Py2.7_Dj1.7\스크립트;
C:[project_path]\virtualenvs\virtualenvs-Py2.7_Dj1.7\Lib\site-packages\django\bin;

이를 테스트하려면 새 Windows 터미널을 엽니다(시작 --> 입력).cmd를 눌러 가상 환경을 사용하는지 확인합니다.작동하면 PyCharm을 다시 시작한 다음 PyCharm의 터미널에서 테스트합니다.

.4v 은 Pycharm 2016.1.4v를 사용해야 ."default path" /K "<path-to-your-activate.bat>"를 잊지

윈도우즈에서 가상 환경이 이미 있는 경우(예:프로젝트 루트 내에 있는 'myvenv'는 아래와 같이 터미널에서 활성화할 수 있습니다.

.\myvenv\Scripts\activate

활성화할 가상 환경에서 활성화를 호출하면 가상 환경이 활성화됩니다.

변경 내용이 표시되면 활성화됩니다.

C:\Projects\Trunk\MyProject>

로.

(myvenv)C:\Projects\Trunk\MyProject>

저는 pycharm terminal(Pycharm version 2021.2.2)에서 venv가 활성화되지 않은 것과 유사한 문제가 있었습니다.아래의 단계를 따르기만 하면 됩니다.

"설정 -> 도구 -> 터미널"로 이동한 다음 창 하단에서 "가상 환경 활성화"에 체크 표시가 있는지 확인하고, 체크 표시가 없으면 해당 상자가 선택되었는지 확인합니다.

그런 다음 창 중간 부분에서 셸 경로가 "cmd.exe"로 설정되어 있는지 확인하고, 그렇지 않으면 "cmd.exe"로 설정합니다. 그러면 해당 경로가 연결되므로 드롭다운 목록에서 "cmd.exe"를 클릭하기만 하면 됩니다. 그런 다음 아래의 "적용" 버튼을 클릭하고 "확인"을 클릭합니다.

이제 완료되었습니다. 열려 있던 터미널을 닫고 다시 열기만 하면 됩니다.프로젝트 경로 앞에 "venv"가 표시됩니다.

추신: 제 대답에 있는 큰따옴표는 신경쓰지 마세요. 단지 본문을 강조하기 위한 것일 뿐이지, 그 이상은 아닙니다.

동일한 문제가 발생한 경우 다음과 같이 해결했습니다.

기본 터미널을 Power shell에서 CMD로 변경하기만 하면 됩니다.pycharm --> 설정으로 이동 --> 도구 --> 터미널을 엽니다.셸 경로를 C:로 변경합니다.PS에서 \Windows\system32\cmd.exe를 실행합니다.가상 환경 활성화 확인란을 선택합니다.apply를 누르고 새 터미널을 엽니다.

wsl2에서 Windows를 사용하는 경우, 2022년 11월에 저에게 효과가 있었던 것은 다음과 같습니다.

  1. Pycharm 터미널 정의로 이동합니다.
  2. 붙여넣기:

wsl.exe -- bash --rcfile <(echo '. ~/.bashrc; source <path-to-your-virtial-env>/bin/activate')

'Shell path' 상자 안에 있습니다.

그러면 터미널을 열 때마다 가상 환경이 활성화됩니다.

enter image description here

또 다른 방법은 가상 환경을 관리하기 위해 virtualenwrapper를 사용하는 것입니다.virtualenwrapper 스크립트가 활성화되면 pycharm에서 해당 스크립트를 사용한 다음 단순한workonPycharm 콘솔에서 명령을 사용할 수 있으며 사용 가능한 가상 환경을 제공합니다.

kevin@debian:~/Development/django-tutorial$ workon
django-tutorial
FlaskHF
SQLAlchemy
themarkdownapp
kevin@debian:~/Development/django-tutorial$ workon django-tutorial
(django-tutorial)kevin@debian:~/Development/django-tutorial$ 

이 방법은 프로젝트당 임의의 가상 환경에서 작동해야 하며 사용자가 생성한 후크를 사용하기 때문에 사용자 환경을 가정하지 않습니다.

다음과 같이 적을 수 있습니다.

  • 후크를 호출하는 글로벌 스크립트
  • PyCharm 프로젝트별 후크 스크립트(필수가 아님)

현재 최신 PyCharm(Community 2016.1)은 프로젝트별 터미널 설정을 허용하지 않으므로 프로젝트별 후크를 호출하는 스크립트로 시작합니다.이것은 나의~/.pycharmrc:

if [ -r ".pycharm/term-activate" ]; then
   echo "Terminal activation hook detected."
   echo "Loading Bash profile..."
   source ~/.bash_profile
   echo "Activating terminal hook..."
   source ".pycharm/term-activate"
   source activate $PYCHARM_VENV
fi

가 아닌 에는 Bash 이외의것사는경우자신것다호니출합을의용을하를 합니다..bash_profile당신이 원한다면 동등한 것.

이 PyCharm "Tools -> Terminal -> Shell Path"는 를정이호를출니다합트스크립여. 예: /bin/bash --rcfile ~/.pycharmrc

PyCharm 루트 합니다. PyCharm 프로젝트 루트 내에 파일을 만듭니다..pycharm/term-activate프로젝트에 할 가상 만 하면 됩니다.

export PYCHARM_VENV=<your-virtual-env-name>

물론 특정 PyCharm 프로젝트의 터미널 환경에서 유용하다고 생각되는 모든 것으로 후크를 확장할 수 있습니다.

의 경우 의 이름이 ""가 아닌지 하십시오.activate.bat이것이 콘다와 충돌을 일으킬 것이기 때문에.activate명령을 실행하면 배치 파일이 반복적으로 호출됩니다.

다음 셸 경로를 사용할 수 있습니다.

"cmd.exe" /k ""C:\FullPathToYourProject\activate-env.bat""

그리고 activate-env.bat 파일에서:

call activate myenvname

각 프로젝트에 대해 별도의 가상 환경을 원했고, 이를 지원하기 위해 추가 파일을 보유하는 것은 크게 신경 쓰지 않았습니다.에서 한 과 같은 수 행 하 면 프 솔 다 추 것 는 하 입 니 가 을 음 은 션 는 하 작 동 서 에 트 젝 되 로 모 고 든 ▁a ▁the ▁to ▁which ▁following ▁is ▁then ▁your.bashrc또는.bash_profile:

if [ -d "./venv" ]; then
    source ./venv/bin/activate
fi

이렇게 하면 터미널이 열려 있는 가상 환경이 있는지 확인하고, 열려 있으면 터미널을 활성화합니다(물론 다른 관련 경로도 사용할 수 있음).PyCharm의 터미널 설정을 기본값으로 유지할 수 있습니다.

PyCharm 4.5.4

다음 내용으로 홈 폴더에 .pycharmrc 파일을 만듭니다.

source ~/.bashrc
source ~/pycharmvenv/bin/activate

가상 환경 경로를 마지막 매개 변수로 사용합니다.

그런 다음 셸 기본 설정 -> 프로젝트 설정 -> 셸 경로를 다음으로 설정합니다.

/bin/bash --rcfile ~/.pycharmrc

왜 그런지는 모르겠지만, 저한테는 안 통해요.PyCharm이 오류를 출력합니다.

cmd.exe /K "<path-to-your-activate.bat>"작동하지만 각 프로젝트에 대해 동일한 가상 환경을 생성합니다. 필요하지 않은 경우에도 마찬가지입니다.

영수증이 작동합니다!하지만 그 끈은/env_yourenvlocate/scripts/activate.bat따옴표를 ."Full_path_to_your_env_locate\scripts\activate.bat"!

가상 환경을 비활성화하는 것은 매우 쉽습니다. 터미널에 '비활성화'를 입력하십시오.

(virt_env) D:\Projects\src>deactivate
D:\Projects\src>

단말기 > 실행 > 디버그 > 구성 편집 입력 시 하나의 옵션

enter image description here

적절한 콘덴서 환경을 선택합니다.또한 새 프로젝트를 만들 때 이 위치를 구성하라는 메시지가 표시됩니다.

Windows 간편하고 간편한 솔루션:

  1. 왼쪽의 Projects 메뉴 안에 있는 Pycharm에는 폴더가 있습니다.
  2. 스크립트 폴더 찾기
  3. 그 안에 활성화된 것을 발견할 것입니다.박쥐
  4. 활성화를 마우스 오른쪽 버튼으로 클릭합니다.박쥐
  5. 복사/경로 참조
  6. 절대 경로 선택
  7. Pycharm 하단의 중간에 위치한 Terminal 탭을 찾습니다.
  8. 터미널 콘솔에 붙여넣고 Enter 키를 누릅니다.
  9. 올바르게 실행한 경우 터미널 경로에는 활성화한 폴더 이름 주위에 괄호(venv)가 표시됩니다.
  10. 이전: "PSC:\"
  11. 이후: (venv) C:\"
  12. 참고 폴더 이름이 사용자 이름과 다를 수 있습니다. 중요한 부분은 (괄호)입니다.d

enter image description here 보시다시피 파이썬 인터프리터는 venv/bin/python에 있습니다.이 폴더로 가면 거기에 나열된 모든 라이브러리를 볼 수 있습니다.당신이 생각할 것처럼, 당신은 그것의 경로와 함께 파이썬 명령을 사용합니다 - 그것은 예를 들어 프로젝트 경로에서 의미합니다.

./venv/bin/pytest

언급URL : https://stackoverflow.com/questions/22288569/how-do-i-activate-a-virtualenv-inside-pycharms-terminal

반응형