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 04 Python
python使用post提交数据到远程url的方法
Apr 29 Python
python实现的希尔排序算法实例
Jul 01 Python
python实现requests发送/上传多个文件的示例
Jun 04 Python
TensorFlow的权值更新方法
Jun 14 Python
Python高斯消除矩阵
Jan 02 Python
Django使用中间键实现csrf认证详解
Jul 22 Python
关于Python形参打包与解包小技巧分享
Aug 24 Python
python 操作hive pyhs2方式
Dec 21 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
Mar 06 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
Apr 22 Python
python如何绘制疫情图
Sep 16 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 memcache扩展的三种安装方法
2009/04/26 PHP
php获取apk包信息的方法
2014/08/15 PHP
php绘制一个扇形的方法
2015/01/24 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
filemanage功能中用到的common.js
2007/04/08 Javascript
JavaScript的变量作用域深入理解
2009/10/25 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
让ie运行js时提示允许阻止内容运行的解决方法
2010/10/24 Javascript
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
老生常谈js数据类型
2017/08/03 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
Python中编写ORM框架的入门指引
2015/04/29 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
pytorch SENet实现案例
2020/06/24 Python
Pycharm Git 设置方法
2020/09/15 Python
物流管理专业职业生涯规划书
2014/01/06 职场文书
幼教求职信
2014/03/12 职场文书
企业晚会策划方案
2014/05/29 职场文书
运动会口号16字
2014/06/07 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
django学习之ajax post传参的2种格式实例
2021/05/14 Python