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 相关文章推荐
python显示生日是星期几的方法
May 27 Python
详解Python的Django框架中的Cookie相关处理
Jul 22 Python
Python类属性的延迟计算
Oct 22 Python
python 拼接文件路径的方法
Oct 23 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
Jun 04 Python
django框架使用orm实现批量更新数据的方法
Jun 21 Python
Django获取应用下的所有models的例子
Aug 30 Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
Apr 14 Python
Python如何将将模块分割成多个文件
Aug 04 Python
Django缓存Cache使用详解
Nov 30 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
php+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
php跨域cookie共享使用方法
2014/02/20 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
2014/08/25 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
TBCompressor js代码压缩
2011/01/05 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
jquery 操作css样式、位置、尺寸方法汇总
2014/11/28 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
2017/03/01 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
angular ng-click防止重复提交实例
2017/06/16 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
[00:12]2018DOTA2亚洲邀请赛SOLO赛 MidOne是否中单第一人?
2018/04/05 DOTA
python实现斐波那契数列的方法示例
2017/01/12 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
Python学习之Django的管理界面代码示例
2018/02/10 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
2020/04/23 Python
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
普通党员个人整改措施
2014/10/27 职场文书
租车协议书范本2014
2014/11/17 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
关于环保的宣传稿
2015/07/23 职场文书
Pytest实现setup和teardown的详细使用详解
2021/04/17 Python
JavaScript继承的三种方法实例
2021/05/12 Javascript
MySQL创建表操作命令分享
2022/03/25 MySQL