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

Jes*_*ose 83 python virtualenv visual-studio-code

我有一个Python项目和导航/自动完成功能完美地在项目中的文件中工作.我想指定一个virtualenv,以便导航/自动完成使用virtualenv中的包.

我在settings.py中试过这个但导航/自动完成功能不起作用.另外通过设置"python.pythonPath":"~/dev/venvs/proj/bin/pythonkill原始导航/自动完成.

{
    "editor.rulers": [80,100],
    "python.autoComplete.extraPaths": [
        "~/dev/venvs/proj",
        "~/dev/venvs/proj/lib"
     ]
}
Run Code Online (Sandbox Code Playgroud)

Don*_*Don 93

随着扩展的最新更新,您只需指定"python.pythonPath"如下所示."python.autoComplete.extraPaths"将在运行时确定值,但您仍可以在那里指定自定义路径.

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

{
    "editor.rulers": [80,100],
    "python.pythonPath":"~/dev/venvs/proj/bin/python"
}
Run Code Online (Sandbox Code Playgroud)

  • 你的意思是在工作区设置?有没有办法为我的工作区的子树设置首选项? (6认同)
  • @holms烨,你想编辑工作区设置(`.vscode/settings.json`) (4认同)
  • 你能为每个项目做到这一点吗? (3认同)
  • FWIW我必须使用绝对路径至少为pylint (2认同)

Dan*_* F. 90

截至2016年9月(根据扩展的Github repo文档),您只需从vscode中执行一个命令,该命令将允许您从自动生成的已知解释器列表中选择解释器(包括项目虚拟环境中的解释器).

如何使用此功能?

  • Python: Select Workspace Interpreter命令面板(F1)中选择命令(*).

  • 选择上述命令后,将在quick pick列表中显示已发现的解释器列表.

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

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

  • 要找到你的virtualenv,需要设置`python.venvPath`. (4认同)
  • 可悲的是,它不允许我在列表中添加新的解释器...甚至可能吗? (2认同)
  • 截至2017年12月,代码为1.18.1,命令为命令选项板中的"Python:Select Interpreter".挣扎了一会儿从命令列表中搜索`python workspace` ... (2认同)

ssw*_*ord 34

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

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

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

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

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

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


Din*_*gLi 34

如果您已经为VSCode安装了官方Python扩展,那么使用最新的VSCode非常简单

Shift+ Command+P

类型:Python:选择Interpreter

选择你的虚拟环境.

官方网站

  • 不幸的是,此命令无法列出本地虚拟环境. (11认同)
  • 是的,我真的希望你和其他人不要说“很简单”。虚拟环境没有被列出,只有解释器,2019.6 macOS 版本。这是一个说 virtualenv 的问题,而不仅仅是 python 解释器。@ssword 有正确答案。或者至少我希望它将带来基于 virtualenv 的其余配置,这不仅仅是要使用的 python 可执行文件。 (2认同)

pm.*_*ese 13

另一种方法是使用virtualenv set从终端打开VSC.

  • 这对我来说似乎不起作用.我必须有设置文件.有什么我想念的吗? (8认同)

Jes*_*ose 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"
     ]
}
Run Code Online (Sandbox Code Playgroud)

  • 我在https://github.com/DonJayamanne/pythonVSCode/issues/148上提出了一个问题 (2认同)