在Ubuntu中使用Virtualenv与Python和Visual Studio代码

时间:2016-06-05 12:43:21

标签: python visual-studio-code virtualenv

我有一个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"
     ]
}

12 个答案:

答案 0 :(得分:89)

使用最新的update to the extension,您只需指定"python.pythonPath",如下所示。 "python.autoComplete.extraPaths"的值将在运行时确定,但您仍然可以在那里指定自定义路径。

请记住,一旦做出必要的更改,请重新启动VS Code。

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

答案 1 :(得分:88)

截至2016年9月(根据Github repo documentation of the extension),你可以从vscode中执行命令,让你从自动生成的已知解释器列表中选择解释器(包括项目虚拟环境中的解释器) )。

  

如何使用此功能?

     
      
  • command palette(F1)中选择命令Python: Select Workspace Interpreter(*)。

  •   
  • 选择上述命令后,已发现的口译员列表将显示在quick pick列表中。

  •   
  • 从此列表中选择解释器将自动更新settings.json文件

  •   

(*)此命令已更新至最新版本的VSC中的Python: Select Interpreter(感谢@nngeek)。
另请注意,您选择的口译员将显示在状态栏的左侧,例如Python 3.6 64位。这是一个按钮,您可以单击该按钮以触发“选择解释器”功能。

答案 2 :(得分:33)

使用最新的VSCode非常简单,如果您已安装Official Python extension for VSCode

Shift + Command + P

类型: Python:选择解释器

选择您的虚拟环境

Official Site

答案 3 :(得分:28)

使用Visual Studio代码的最新Python扩展,有一个venvPath设置:

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

在Mac OS X上,转到Code > Preferences > Settings并向下滚动到 Python配置

查找"python.venvPath: "",并点击左侧的铅笔以打开您的用户设置。最后,添加存储虚拟环境的路径。

如果您正在使用virtuanenvwrapper,或者您已将所有虚拟环境设置放在一个文件夹中,那么这将是您的选择。

配置"python.venvPath"后,重新启动VSC。然后打开命令面板并查找“Python:Select Interpreter”。此时,您应该看到与刚添加的虚拟环境关联的解释器。

答案 4 :(得分:12)

另一种方法是从设置了virtualenv的终端打开VSC,需要执行 F1 Python: Select Interpreter并选择所需的virtualENV

virtualENV

答案 5 :(得分:6)

暂定答案。我把虚拟环境python可执行文件的绝对路径也包含在内。然后我重新启动了VS代码。

我正在尝试获取$ {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"
     ]
}

答案 6 :(得分: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"

然后单击窗口右侧的WORKSPACE SETTINGS选项卡。这样就可以使设置仅适用于您所在的工作区。

然后,点击" python.pythonPath"旁边的铅笔图标。这应该在工作区设置上复制设置。

将值更改为:

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

答案 7 :(得分:2)

a)修改Visual Studio Code默认的虚拟环路径设置。它被称为" python.venvPath"。您可以通过进入code->设置并向下滚动python设置来完成此操作。

b)重启VS代码

c)现在,如果你执行Shift + Command + P并输入Python:选择Interpreter 你应该看到你的虚拟环境列表。

答案 8 :(得分:1)

似乎是(如2018.03所示)在code-insider中,引入了一个名为python.venvFolders的指令:

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

您只需要添加virtualenv文件夹名称即可。

答案 9 :(得分:0)

我正在Windows中运行,您可以在https://code.visualstudio.com/docs/python/environments上找到说明。 基本上这样做是:“要选择特定的环境,请使用Python:从命令面板中选择解释器命令(Ctrl + Shift + P)。”然后输入Python:S并单击“选择解释器”,然后选择您创建的venv。

答案 10 :(得分:0)

在使用代码版本1.34.0(1.34.0)的Mac OSX上,我必须执行以下操作才能获得VSCode来识别虚拟环境:

我的虚拟环境(名为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,现在我可以从虚拟环境中看到解释器: enter image description here

答案 11 :(得分:0)

Youtube Setting up Python VS... Venv那里得到了

好的,视频确实对我没有多大帮助,但是...(发布视频的人)下面的第一条评论很有道理,而且纯金

基本上,打开VS的内置终端。然后source <your path>/activate.sh,这是您从命令行中选择虚拟货币的通常方法。我有一个预定义的bash函数来查找和启动正确的脚本文件,并且效果很好。

直接在YouTube上直接评论(所有功劳归功于 anuris ap ):

(您实际上只需要步骤5-7)

1- Open your command line/terminal and type pip virtualenv.
2. Create a folder in which the virtualenv will be placed .
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 VS Code  and use its built-in terminal to cd to the script folder in you virtualenv.
6. type source activates (in vs code I use the git terminal).
7. deactivate to turn off the virtualenv.

您可能会注意到,他在谈论activate.bat。因此,如果它在Mac上对我适用,并且在Windows上也适用,那么它很健壮且可移植。 ?