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实现去除代码前行号的方法
Mar 10 Python
详解duck typing鸭子类型程序设计与Python的实现示例
Jun 03 Python
python中的格式化输出用法总结
Jul 28 Python
利用标准库fractions模块让Python支持分数类型的方法详解
Aug 11 Python
如何优雅地处理Django中的favicon.ico图标详解
Jul 05 Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 Python
python 同时运行多个程序的实例
Jan 07 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
Mar 01 Python
在Python中append以及extend返回None的例子
Jul 20 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
python多进程并行代码实例
Sep 30 Python
Python爬虫headers处理及网络超时问题解决方案
Jun 19 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
建立文件交换功能的脚本(二)
2006/10/09 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
PHP编程 SSO详细介绍及简单实例
2017/01/13 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
js 通用订单代码
2013/12/23 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
2015/11/17 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
详解html-webpack-plugin用法全解
2018/01/22 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
jQuery擦除插件eraser使用方法详解
2020/01/11 jQuery
理解python多线程(python多线程简明教程)
2014/06/09 Python
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
简单介绍Python中的len()函数的使用
2015/04/07 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
2015/04/08 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
python之mock模块基本使用方法详解
2019/06/27 Python
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
CentOS7下安装python3.6.8的教程详解
2020/01/03 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
澳大利亚领先的皮肤诊所:Skin Matrix(抗衰老、痤疮专家、药妆护肤)
2018/05/20 全球购物
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
建筑安全标语
2014/06/07 职场文书
超市客服工作职责
2014/06/11 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
党校党性分析材料
2014/12/19 职场文书
2015年财务部年度工作总结
2015/05/19 职场文书
Python基本数据类型之字符串str
2021/07/21 Python
Python Matplotlib绘制条形图的全过程
2021/10/24 Python