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实现封装得到virustotal扫描结果
Oct 05 Python
详解Django框架中用context来解析模板的方法
Jul 20 Python
python中sys.argv函数精简概括
Jul 08 Python
Django contenttypes 框架详解(小结)
Aug 13 Python
不到40行代码用Python实现一个简单的推荐系统
May 10 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
Jun 19 Python
Django项目中使用JWT的实现代码
Nov 04 Python
基于python实现对文件进行切分行
Apr 26 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
Aug 07 Python
Python根据字符串调用函数过程解析
Nov 05 Python
Anaconda安装pytorch及配置PyCharm 2021环境
Jun 04 Python
FP-growth算法发现频繁项集——构建FP树
Jun 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
利用PHP实现与ASP Banner组件相似的类
2006/10/09 PHP
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
通用JS事件写法实现代码
2009/01/07 Javascript
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
node跨域请求方法小结
2017/08/25 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
2018/04/08 Javascript
JS实现根据详细地址获取经纬度功能示例
2019/04/16 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
python处理csv数据的方法
2015/03/11 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
python中实现字符串翻转的方法
2018/07/11 Python
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
python中entry用法讲解
2020/12/04 Python
Pandas的数据过滤实现
2021/01/15 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
matplotlib交互式数据光标mpldatacursor的实现
2021/02/03 Python
七年级作文之游记
2019/12/11 职场文书
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL