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开发的单词频率统计工具wordsworth使用方法
Jun 25 Python
Python中的深拷贝和浅拷贝详解
Jun 03 Python
Django框架中数据的连锁查询和限制返回数据的方法
Jul 17 Python
Python 中迭代器与生成器实例详解
Mar 29 Python
Python实现通讯录功能
Feb 22 Python
python实现排序算法解析
Sep 08 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
Dec 04 Python
pytorch中获取模型input/output shape实例
Dec 30 Python
Python通过len函数返回对象长度
Oct 22 Python
详解用selenium来下载小姐姐图片并保存
Jan 26 Python
Python字符串的15个基本操作(小结)
Feb 03 Python
关于Numpy之repeat、tile的用法总结
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 str_pad 函数使用详解
2009/01/13 PHP
又一个php 分页类实现代码
2009/12/03 PHP
php function用法如何递归及return和echo区别
2014/03/07 PHP
PHP实现文件下载详解
2014/11/27 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
javascript 自动填写表单的实现方法
2010/04/09 Javascript
原生javascript实现图片轮播效果代码
2010/09/03 Javascript
Jquery Ajax请求代码(2)
2011/01/07 Javascript
jQuery实现鼠标滑过点击事件音效试听
2015/08/31 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
vue如何截取字符串
2019/05/06 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
Python类的多重继承问题深入分析
2014/11/09 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
在django view中给form传入参数的例子
2019/07/19 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
澳洲健康食品网上商店:Aussie Health Products
2018/06/15 全球购物
澳洲CFL商城:CHEMIST FOR LESS(中文)
2021/02/28 全球购物
迎新晚会邀请函
2014/02/01 职场文书
教师校本培训方案
2014/02/26 职场文书
好听的队名和口号
2014/06/09 职场文书
工作散漫检讨书
2014/09/16 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
文员岗位职责
2015/02/04 职场文书
物业工程部岗位职责
2015/02/11 职场文书