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中的ctime()方法使用教程
May 22 Python
python类的方法属性与方法属性的动态绑定代码详解
Dec 27 Python
Python静态类型检查新工具之pyright 使用指南
Apr 26 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
Nov 29 Python
pyenv虚拟环境管理python多版本和软件库的方法
Dec 26 Python
python实现图片横向和纵向拼接
Mar 05 Python
Python3标准库glob文件名模式匹配的问题
Mar 13 Python
Python打印特殊符号及对应编码解析
May 07 Python
Django vue前后端分离整合过程解析
Nov 20 Python
python Scrapy爬虫框架的使用
Jan 21 Python
python Autopep8实现按PEP8风格自动排版Python代码
Mar 02 Python
Python标准库之typing的用法(类型标注)
Jun 02 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读MYSQL中文乱码的解决方法
2006/12/17 PHP
PHP新手入门学习方法
2011/05/08 PHP
PHP笔记之:基于面向对象设计的详解
2013/05/14 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
javascript 显示当前系统时间代码
2009/12/28 Javascript
javascript实现json页面分页实例代码
2014/02/20 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
js查找节点的方法小结
2015/01/13 Javascript
基于jquery实现放大镜效果
2015/08/17 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
js省市区级联查询(插件版&无插件版)
2017/03/21 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
在vue中使用G2图表的示例代码
2019/03/19 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
2019/04/15 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
Python yield 小结和实例
2014/04/25 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
详解python读取image
2019/04/03 Python
python保留小数位的三种实现方法
2020/01/07 Python
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
外企测试工程师面试题
2015/02/01 面试题
商业房地产广告语
2014/03/13 职场文书
法人委托书
2014/07/31 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
2016年优秀少先队辅导员事迹材料
2016/02/26 职场文书
Python实现拼音转换
2021/06/07 Python
PyQt5结合QtDesigner实现文本框读写操作
2021/06/11 Python
浅谈spring boot使用thymeleaf版本的问题
2021/08/04 Java/Android
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis