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 20 Python
python从sqlite读取并显示数据的方法
May 08 Python
Python+django实现文件下载
Jan 17 Python
python生成器表达式和列表解析
Mar 10 Python
Python中执行存储过程及获取存储过程返回值的方法
Oct 07 Python
python 读写文件,按行修改文件的方法
Jul 12 Python
Python中import导入不同目录的模块方法详解
Feb 18 Python
django 扩展user用户字段inlines方式
Mar 30 Python
pytorch  网络参数 weight bias 初始化详解
Jun 24 Python
python+appium+yaml移动端自动化测试框架实现详解
Nov 24 Python
python regex库实例用法总结
Jan 03 Python
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
Apr 06 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 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
2010/09/10 PHP
phpstrom使用xdebug配置方法
2013/12/17 PHP
PHP实现服务器状态监控的方法
2014/12/09 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
PHP 模拟登陆功能实例详解
2019/09/10 PHP
Laravel 自动生成验证的实例讲解:login / logout
2019/10/14 PHP
jquery dialog键盘事件代码
2010/08/01 Javascript
再论Javascript下字符串连接的性能
2011/03/05 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
JavaScript使用slice函数获取数组部分元素的方法
2015/04/06 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
python通过线程实现定时器timer的方法
2015/03/16 Python
python随机在一张图像上截取任意大小图片的方法
2019/01/24 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
成人毕业生自我鉴定
2013/10/18 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
暑期实践个人总结
2015/03/06 职场文书
2016国培研修心得体会
2016/01/08 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
python实现简单倒计时功能
2021/04/21 Python
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang
Python3 类型标注支持操作
2021/06/02 Python
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python