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编程pygal绘图实例之XY线
Dec 09 Python
python批量替换多文件字符串问题详解
Apr 22 Python
Python之批量创建文件的实例讲解
May 10 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
Python实现合并excel表格的方法分析
Apr 13 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
python递归法解决棋盘分割问题
Jul 17 Python
运用PyTorch动手搭建一个共享单车预测器
Aug 06 Python
python 实现有道翻译功能
Feb 26 Python
python将图片转为矢量图的方法步骤
Mar 30 Python
解决numpy数组互换两行及赋值的问题
Apr 17 Python
如何用Python搭建gRPC服务
Jun 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读注册表
2006/10/09 PHP
php5 图片验证码实现代码
2009/12/11 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
js浮动图片的动态效果
2013/07/10 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
JavaScript中操作Mysql数据库实例
2015/04/02 Javascript
js中用cssText设置css样式的简单方法
2016/09/19 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
2017/07/08 jQuery
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
nodejs 使用 js 模块的方法实例详解
2018/12/04 NodeJs
JavaScript迭代器的含义及用法
2019/06/21 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
2021/03/01 Vue.js
python中使用urllib2伪造HTTP报头的2个方法
2014/07/07 Python
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
全球最大的生存食品、水和装备专用在线市场:BePrepared.com
2020/01/02 全球购物
企业党员公开承诺书
2014/03/26 职场文书
安全教育演讲稿
2014/05/09 职场文书
献爱心捐款倡议书
2014/05/14 职场文书
求职自我推荐信
2015/03/24 职场文书
个人道歉信大全
2019/04/11 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS