Ubuntu에서 Visual Studio Code와 함께 Python과 함께 virtualenv 사용


86

Python 프로젝트가 있고 프로젝트의 파일 내에서 탐색 / 자동 완성이 완벽하게 작동합니다. 해당 virtualenv 내의 패키지에서 탐색 / 자동 완성이 작동하도록 virtualenv 를 지정하고 싶습니다 .

settings.py에서 시도했지만 탐색 / 자동 완성이 작동하지 않습니다. 또한 설정 "python.pythonPath":"~/dev/venvs/proj/bin/python하여 원래 탐색 / 자동 완성을 죽였습니다.

{
    "editor.rulers": [80,100],
    "python.autoComplete.extraPaths": [
        "~/dev/venvs/proj",
        "~/dev/venvs/proj/lib"
     ]
}

설정을 엉망으로 만들고 싶지 않다면 이와 같은 shebang도 작동합니다 : #! bin / python3
Alex R

youtu.be/6YLMWU-5H9o?t=550 여기 Dan Taylor가 vscode 에서 virtualenv를 실행하는 방법을 설명합니다
test30

최신 버전의 코드의 경우 왼쪽 하단에있는 Python 인터프리터를 클릭 한 다음 상단 중간에 명령 팔레트가 표시되어 Python 인터프리터의 경로 입력을 선택한 다음 찾기 ...를 선택하고 ~ / your venv 경로에서 찾습니다. / bin / python, python3.8
JCQian

답변:


96

확장에 대한 최신 업데이트를 사용하면 "python.pythonPath"다음과 같이 지정하기 만하면 됩니다.

의 값은 "python.autoComplete.extraPaths"런타임 중에 결정되지만 사용자 지정 경로를 지정할 수 있습니다.

필요한 변경이 이루어지면 Visual Studio Code를 다시 시작해야합니다.

{
    "editor.rulers": [80,100],
    "python.pythonPath":"~/dev/venvs/proj/bin/python"
}

2
FWIW 필 린트에 대해 적어도 절대 경로를 사용해야했습니다
Kat

6
작업 공간 설정을 의미합니까? 내 작업 공간의 하위 트리에 대한 기본 설정을 구성하는 방법이 있습니까?
yucer jul.

3
프로젝트별로 할 수 있습니까?
holms

1
위의 돈이 맞습니다. : 단지 이중 VS 코드의 웹 사이트 확인하시기 바랍니다 code.visualstudio.com/docs/python/...
리카르도 조스

5
그래 @holms, 당신은 작업 영역 설정 (편집 할 .vscode/settings.json)
Atav32

91

2016 년 9 월부터 ( 확장GitHub 리포지토리 설명서에 따라 ) Visual Studio Code 내에서 명령을 실행하기 만하면 자동으로 생성 된 알려진 인터프리터 목록 ​​(프로젝트의 가상 환경에있는 인터프리터 포함)에서 인터프리터를 선택할 수 있습니다. ).

이 기능을 어떻게 사용할 수 있습니까?

  • 명령 팔레트 (F1) Python: Select Workspace Interpreter에서 명령 (*)을 선택합니다 .
  • 위의 명령을 선택하면 검색된 인터프리터 목록이 목록에 표시됩니다 quick pick.
  • 이 목록에서 인터프리터를 선택하면 settings.json 파일이 자동으로 업데이트됩니다 .

(*) 이 명령은 업데이트되었습니다Python: Select Interpreter비주얼 스튜디오 코드 (감사 @nngeek)의 최신 릴리스에서.

또한 선택한 인터프리터가 상태 표시 줄의 왼쪽에 표시됩니다 (예 : Python 3.6 64 비트) . 이것은 통역사 선택 기능 을 트리거하기 위해 클릭 할 수있는 버튼 입니다.


3
안타깝게도 목록에 새 통역사를 추가 할 수 없습니다 ... 그게 가능할까요?
genuinefafa

@genuinefafa 코드에 대해 많이 알지 못하지만 리포지토리 문서에서 인터프리터가 표준 경로 (/ usr / local / bin, / usr / sbin, / sbin), 가상 환경에서 현재 프로젝트 및 Conda 환경. 이 위치 중 하나에 통역사를 추가하여 자동으로 픽업 할 수 있습니다. 그러나 나는 단지 추측하고있다.
Daniel F.

@DanielF는 좋은 생각입니다. 나는 그것을 해결하지만 프로젝트 환경을 가리키는 디렉토리를 수동으로 설정합니다. $PATH아이디어 (실제로 무엇을 작동하지 않는 workon스크립트가 수행해야합니다). 이것은 몇 주 전에 테스트되었지만 새 릴리스에서 해결되는지 확실하지 않습니다.
genuinefafa 2017

4
virtualenv를 찾으려면 python.venvPath설정해야합니다.
Mahmoud Hanafy

2
코드 1.18.1이 적용된 2017 년 12 월 Python: Select Interpreter부터 명령은 명령 팔레트에서 가져옵니다. 검색 잠시 동안 고생 python workspace명령 목록에서 ...
nngeek

35

Visual Studio Code 용 공식 Python 확장을 설치 경우 최신 버전의 Visual Studio Code를 사용하면 매우 간단합니다 .

Shift+ Command+P

유형 : Python : 인터프리터 선택

가상 환경을 선택하십시오.

공식 사이트


14
불행히도이 명령은 로컬 가상 환경을 나열하지 못합니다.
Antonin

@Antonin 최신 버전에서 내 vscode를 테스트하면 작동합니다. Mac 또는 다른 시스템에 있습니까? 오류는 무엇입니까?
DingLi

1
: 실제로 Mac에서, 그것은이 설정 한 후 작업을했다, 당신에게 @DingLi 감사합니다"python.venvFolders": [ "${rootPath}", "envs", ".pyenv", ".direnv" ],
안토닌

1
가상 envs에 대한 @Antonin의 ssword를의 답변을 참조
carton.swing

2
네, 당신과 다른 모든 사람들이 "매우 간단하다"는 말을 그만두 길 바랍니다. 가상 환경은 나열되지 않고 인터프리터 만, 2019.6 macOS 버전입니다. 그리고 이것은 파이썬 인터프리터뿐만 아니라 virtualenv에 대한 질문입니다. @ssword에 정답이 있습니다. 또는 적어도 사용할 파이썬 실행 파일이 아닌 나머지 virtualenv 기반 구성을 가져 오길 바랍니다.
JL Peyret 19

34

Visual Studio Code 용 최신 Python 확장에는 venvPath 설정이 있습니다.

// Path to folder with a list of Virtual Environments (e.g. ~/.pyenv, ~/Envs, ~/.virtualenvs).
  "python.venvPath": "",

Mac OS X의 경우 코드환경 설정설정 으로 이동하여 Python 구성 까지 아래로 스크롤합니다 .

"python.venvPath: "",왼쪽에있는 연필 을 찾아 클릭하여 사용자 설정을 엽니 다. 마지막으로 가상 환경을 저장할 경로를 추가하십시오.

virtuanenvwrapper를 사용 중이거나 모든 가상 환경 설정을 하나의 폴더에 넣은 경우 이것이 사용자를위한 것입니다.

을 구성한 "python.venvPath"후 Visual Studio Code를 다시 시작합니다. 그런 다음 명령 팔레트를 열고 "Python : 인터프리터 선택"을 찾으십시오. 이 시점에서 방금 추가 한 가상 환경과 관련된 인터프리터가 표시됩니다.


13

또 다른 방법은 virtualenv가 설정된 터미널에서 Visual Studio Code를 열고 F1 Python: Select Interpreter필요한 virtualenv 를 수행 하고 선택하는 것입니다.

virtualenv


8
이것은 나를 위해 작동하지 않는 것 같습니다. 설정 파일이 있어야합니다. 내가 놓친 것이 있습니까?
McKay

1
이 방법을 성공적으로 사용했지만 코드 -a를 수행해야했습니다.
YoFlynn

1
이것은 나에게 올바른 파이썬 인터프리터를 얻었지만 내 venv의 나머지 부분을 찾지 못했습니다. 내 venv 디렉토리 이름 "ve"를 python.venvFolders에 추가하면 문제가 해결되었습니다.
user1055568

1
내 이전 의견이 잘못되었습니다. 나는 Venv를 찾지 못한다고 착각하는 다른 문제가 있었다.
user1055568

7

가상 환경 Python 실행 파일의 절대 경로를 넣으면 패키지도 있습니다. 그런 다음 Visual Studio Code를 다시 시작했습니다.

절대 경로를 하드 코딩하지 않도록 $ {workspaceRoot}를 얻으려고합니다.

{
    "editor.rulers": [80,100],
    "python.pythonPath": "/home/jesvin/dev/ala/venv/bin/python",
    "python.autoComplete.extraPaths": [
        "/home/jesvin/dev/ala/venv/lib/python2.7",
        "/home/jesvin/dev/ala/venv/lib/python2.7/site-packages"
     ]
}


4

이 페이지의 다른 사람들이 요청한 작업 공간 설정을 사용할 수있었습니다.

환경 설정, ⌘ + P에서 python.pythonPath 에서 검색합니다.

다음과 같은 내용이 표시되어야합니다.

// Path to Python, you can use a custom version of Python by modifying this setting to include the full path.
"python.pythonPath": "python"

그런 다음 창 오른쪽에있는 작업 공간 설정 탭을 클릭합니다. 이렇게하면 설정이 현재있는 작업 공간에만 적용됩니다.

그런 다음 "python.pythonPath"옆에있는 연필 아이콘을 클릭합니다. 작업 공간 설정 위에 설정을 복사해야합니다.

값을 다음과 같이 변경하십시오.

"python.pythonPath": "${workspaceFolder}/venv"

2

a) Visual Studio Code 기본 가상 환경 경로 설정을 수정합니다. "python.venvPath"라고합니다. 코드-> 설정으로 이동하여 파이썬 설정을 위해 아래로 스크롤하면됩니다.

b) VS 코드 다시 시작

c) 이제 Shift + Command + P를 입력하고 Python을 입력하면 Interpreter를 선택하면 가상 환경 목록이 표시됩니다.


1

코드 내부자에있는 것 같습니다 (2018.03 기준). python.venvFolders라는 지시문이 도입되었습니다.

  "python.venvFolders": [
    "envs",
    ".pyenv",
    ".direnv"
  ],

virtualenv 폴더 이름을 추가하기 만하면됩니다.


"코드 내부자"란 무엇입니까? 아니 " 코드 인사이트 " ?
Peter Mortensen

1

Visual Studio Code 버전 1.34.0 (1.34.0)을 사용하는 Mac OS X에서 Visual Studio Code가 가상 환경을 인식하도록하려면 다음을 수행해야했습니다.

내 가상 환경의 위치 (이름 : ml_venv ) :

/Users/auser/.pyvenv/ml_venv

auser@HOST:~/.pyvenv$ tree -d -L 2
.
└── ml_venv
    ├── bin
    ├── include
    └── lib

Settings.json에 다음 항목을 추가했습니다 ."python.venvPath": "/Users/auser/.pyvenv"

IDE를 다시 시작했는데 이제 가상 환경에서 인터프리터를 볼 수 있습니다.

여기에 이미지 설명 입력


절대 경로를 사용하는 것이 중요합니다. 이것은 나를 위해 일했습니다. 감사합니다
Alexander Suraphel 19-08-27

0

YouTube 에서 가져온 Python Visual Studio 코드 설정 ... Venv

좋아요, 그 영상은 저에게 그다지 도움이되지 않았지만 ... (영상을 올린 사람이 쓴) 아래의 첫 번째 댓글 은 말이 많고 순금입니다.

기본적으로 Visual Studio Code의 기본 제공 터미널을 엽니 다. 그때source <your path>/activate.sh 일반적인 방법으로 명령 줄에서 venv를 선택합니다. 올바른 스크립트 파일을 찾아서 실행하는 미리 정의 된 Bash 기능이 있으며 제대로 작동했습니다.

YouTube 댓글을 직접 인용하면 (모든 크레딧은 aneuris ap ) :

(실제로 5-7 단계 만 필요)

1. Open your command line/terminal and type `pip virtualenv`.
2. Create a folder in which the virtualenv will be placed in.
3. 'cd' to the script folder in the virtualenv and run activate.bat (CMD).
4. Deactivate to turn of the virtualenv (CMD).
5. Open the project in Visual Studio Code and use its built-in terminal to 'cd' to the script folder in you virtualenv.
6. Type source activates (in Visual Studio Code I use the Git terminal).
7. Deactivate to turn off the virtualenv.

아시다시피 그는에 대해 이야기하고 activate.bat있습니다. 따라서 Mac에서 작동하고 Windows에서도 작동한다면 매우 견고하고 휴대 가능할 가능성이 있습니다. 😀

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