VSCode配合pipenv搞定虚拟环境的实现方法


Posted in Python onMay 17, 2020

VSCode指定Python路径快捷运行py脚本之前写过了,这样配置有一个问题:所有的python脚本都使用的同一个python来执行的.现在是虚拟环境的天下,怎样做到不同的项目使用的不同的Python环境呢?

想做到这个也简单,关键三点

一.使用不同的VSCode打开不同的项目

二.虚拟环境以同样的文件夹名放在项目根目录如.venv

三.之前的python路径设置相对路径 .venv/bin/python

预期目标两个:

一 使用Command+Shift+b运行时使用当前虚拟环境的python

二 py文件右键 在终端中打开Open in Integrated Terminal 时自动激活当前虚拟环境

VSCode配合pipenv搞定虚拟环境的实现方法

因为笔者钟爱pipenv所以就以它创建虚拟环境演示了.

创建项目并将虚拟环境放在.venv

➜ Desktop mkdir c_test_py
➜ Desktop cd c_test_py
➜ c_test_py mkdir .venv
➜ c_test_py pipenv --python 3.8.2
Creating a virtualenv for this project...
Pipfile: /Users/rainbird/Desktop/c_test_py/Pipfile
Using /Users/rainbird/.pyenv/versions/3.8.2/bin/python (3.8.2) to create virtualenv...
⠸ Creating virtual environment...Already using interpreter /Users/rainbird/.pyenv/versions/3.8.2/bin/python
Using base prefix '/Users/rainbird/.pyenv/versions/3.8.2'
New python executable in /Users/rainbird/Desktop/c_test_py/.venv/bin/python
Installing setuptools, pip, wheel...
done.
Running virtualenv with interpreter /Users/rainbird/.pyenv/versions/3.8.2/bin/python

✔ Successfully created virtual environment!
Virtualenv location: /Users/rainbird/Desktop/c_test_py/.venv
Creating a Pipfile for this project...
➜ c_test_py pipenv shell
Launching subshell in virtual environment...
 . /Users/rainbird/Desktop/c_test_py/.venv/bin/activate
➜ c_test_py . /Users/rainbird/Desktop/c_test_py/.venv/bin/activate
(c_test_py) ➜ c_test_py python -V
Python 3.8.2
(c_test_py) ➜ c_test_py

通过上面可以看到,我们最后一个pipenv shell成功激活了当前目录下的.venv的虚拟环境

VSCode新建窗口打开新工程

VSCode配合pipenv搞定虚拟环境的实现方法

或者直接将新创建c_test_py文件件拖到新容器也可以.

配置python路径为相对路径

VSCode菜单-终端->配置任务

VSCode配合pipenv搞定虚拟环境的实现方法

将之前的绝对路径改成相对路径 .venv/bin/python

{
 // See https://go.microsoft.com/fwlink/?LinkId=733558
 // for the documentation about the tasks.json format
 "version": "2.0.0",
 "tasks": [
  {
   //command + shift + b 运行时使用
   "label": "python",
   "type": "shell",
   "command": ".venv/bin/python",
   "args": [
    "${file}"
   ],
   "group": {
    "kind": "build",
    "isDefault": true
   }
  }
 ]
}

验证

在新开的文件夹里新建index.py并输出hello world

print('hello world !')

VSCode配合pipenv搞定虚拟环境的实现方法

通过command+shift+b运行发现已经是使用的相对路径了.

VSCode配合pipenv搞定虚拟环境的实现方法

在index.py上右键选择 在终端中打开

VSCode配合pipenv搞定虚拟环境的实现方法

也自动激活了当前虚拟环境,完美!!!

到此这篇关于VSCode配合pipenv搞定虚拟环境的实现方法的文章就介绍到这了,更多相关VSCode pipenv虚拟环境内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Django中创建动态视图的教程
Jul 15 Python
在Python的Django框架中包装视图函数
Jul 20 Python
简述Python中的进程、线程、协程
Mar 18 Python
Python实现统计文本文件字数的方法
May 05 Python
浅谈python numpy中nonzero()的用法
Apr 02 Python
python3编写ThinkPHP命令执行Getshell的方法
Feb 26 Python
Python后台开发Django的教程详解(启动)
Apr 08 Python
Django多数据库的实现过程详解
Aug 01 Python
python实现3D地图可视化
Mar 25 Python
在Django中自定义filter并在template中的使用详解
May 19 Python
浅谈Python 钉钉报警必备知识系统讲解
Aug 17 Python
python logging模块的使用详解
Oct 23 Python
Python Pandas 对列/行进行选择,增加,删除操作
May 17 #Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
May 17 #Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
May 17 #Python
python 实现PIL模块在图片画线写字
May 16 #Python
在python image 中实现安装中文字体
May 16 #Python
Python 判断时间是否在时间区间内的实例
May 16 #Python
解决Python Matplotlib绘图数据点位置错乱问题
May 16 #Python
You might like
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
功能齐全的PHP发送邮件类代码附详细说明
2008/07/10 PHP
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
2015/08/31 Javascript
使用Curl命令查看请求响应时间方法
2016/11/04 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
JS判断非空至少输入两个字符的简单实现方法
2017/06/23 Javascript
input输入框内容实时监测(附代码)
2017/08/15 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
Vue中props的详解
2019/05/16 Javascript
深入浅出vue图片路径的实现
2019/09/04 Javascript
Vue最新防抖方案(必看篇)
2019/10/30 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
2020/02/24 Javascript
详解Vue+elementUI build打包部署后字体图标丢失问题
2020/07/13 Javascript
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
销售自我评价
2013/10/22 职场文书
八项规定整改措施
2014/02/12 职场文书
倡议书格式范文
2014/04/14 职场文书
寒假家长评语大全
2014/04/16 职场文书
音乐节策划方案
2014/06/09 职场文书
临时用工协议书范本
2014/10/29 职场文书
党员评议自我评价
2015/03/03 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
绿色环保倡议书
2015/04/28 职场文书
MySQL窗口函数的具体使用
2021/11/17 MySQL
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript
解决redis批量删除key值的问题
2022/03/23 Redis
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python