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 相关文章推荐
Python3.x和Python2.x的区别介绍
Feb 12 Python
Python去除列表中重复元素的方法
Mar 20 Python
详解使用python的logging模块在stdout输出的两种方法
May 17 Python
pandas数据预处理之dataframe的groupby操作方法
Apr 13 Python
Redis使用watch完成秒杀抢购功能的代码
May 07 Python
Flask框架学习笔记之消息提示与异常处理操作详解
Aug 15 Python
Python如何使用paramiko模块连接linux
Mar 18 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
Jun 03 Python
keras自动编码器实现系列之卷积自动编码器操作
Jul 03 Python
Python使用itcaht库实现微信自动收发消息功能
Jul 13 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
pandas取dataframe特定行列的实现方法
May 24 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
使用js获取QueryString的方法小结
2010/02/28 Javascript
Google排名中的10个最著名的 JavaScript库
2010/04/27 Javascript
jQuery EasyUI API 中文文档 - Form表单
2011/10/06 Javascript
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
全面解析Bootstrap排版使用方法(标题)
2015/11/30 Javascript
Node.js实现文件上传
2016/07/05 Javascript
input 禁止输入特殊字符的四种实现方式
2016/08/24 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
layer实现弹窗提交信息
2016/12/12 Javascript
nodejs操作mysql实现增删改查的实例
2017/05/28 NodeJs
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
从零撸一个pc端vue的ui组件库( 计数器组件 )
2019/08/08 Javascript
vue在响应头response中获取自定义headers操作
2020/07/24 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
python右对齐的实例方法
2020/07/05 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
运动会通讯稿300字
2014/02/02 职场文书
经理助理岗位职责
2014/03/05 职场文书
出纳会计岗位职责
2014/03/12 职场文书
授权委托书范本
2014/04/03 职场文书
给校长的建议书500字
2014/05/15 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
房屋租赁合同补充协议
2014/10/11 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
音乐研修感悟
2015/11/18 职场文书
委托书范本格式
2019/04/18 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL
关于python爬虫应用urllib库作用分析
2021/09/04 Python
Win11 Build 22000.829更新补丁KB5015882发布(附更新修复内容汇总)
2022/07/15 数码科技