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进阶教程之词典、字典、dict
Aug 29 Python
在Python的Flask框架中实现单元测试的教程
Apr 20 Python
怎样使用Python脚本日志功能
Aug 14 Python
python如何在终端里面显示一张图片
Aug 17 Python
Python实现删除文件中含“指定内容”的行示例
Jun 09 Python
python 高效去重复 支持GB级别大文件的示例代码
Nov 08 Python
对python 多个分隔符split 的实例详解
Dec 20 Python
python实现简单坦克大战
Mar 27 Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 Python
python+selenium小米商城红米K40手机自动抢购的示例代码
Mar 24 Python
解决python绘图使用subplots出现标题重叠的问题
Apr 30 Python
python代码实现扫码关注公众号登录的实战
Nov 01 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常用编译参数中文说明
2014/09/27 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
浅析jQuery 3.0中的Data
2016/06/14 Javascript
jQuery插件passwordStrength密码强度指标详解
2016/06/24 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
node.js 中间件express-session使用详解
2017/05/20 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
python里将list中元素依次向前移动一位
2014/09/12 Python
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
python比较2个xml内容的方法
2015/05/11 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
python如何使用Redis构建分布式锁
2020/01/16 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
法律专业自我鉴定
2013/10/03 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
事业单位鉴定材料
2014/05/25 职场文书
万里长城导游词
2015/01/30 职场文书
滴水洞导游词
2015/02/10 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
七年级生物教学反思
2016/02/20 职场文书
了解Redis常见应用场景
2021/06/23 Redis
python文件与路径操作神器 pathlib
2022/04/01 Python