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 list使用示例 list中找连续的数字
Jan 27 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 Python
对python-3-print重定向输出的几种方法总结
May 11 Python
python中多个装饰器的执行顺序详解
Oct 08 Python
Python模拟百度自动输入搜索功能的实例
Feb 14 Python
Python JSON格式数据的提取和保存的实现
Mar 22 Python
对Django中内置的User模型实例详解
Aug 16 Python
Python reversed函数及使用方法解析
Mar 17 Python
Python定时任务APScheduler安装及使用解析
Aug 07 Python
Python基于爬虫实现全网搜索并下载音乐
Feb 14 Python
python 模拟在天空中放风筝的示例代码
Apr 21 Python
python单向链表实例详解
May 25 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时的知识积累总结
2013/06/07 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
php生成与读取excel文件
2016/10/14 PHP
IIS 7.5 asp Session超时时间设置方法
2017/04/17 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
可以文本显示的公告栏的js代码
2007/03/11 Javascript
Mootools 1.2教程 Fx.Tween的使用
2009/09/15 Javascript
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
2010/03/04 Javascript
纯Javascript实现Windows 8 Metro风格实现
2013/10/15 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
DOM事件探秘篇
2017/02/15 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
Sanic框架路由用法实例分析
2018/07/16 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
python flask框架实现重定向功能示例
2019/07/02 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
Python适配器模式代码实现解析
2019/08/02 Python
python获取Linux发行版名称
2019/08/30 Python
Pytorch中实现只导入部分模型参数的方式
2020/01/02 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
基于zepto的插件之移动端无缝向上滚动并上下触摸滑动实例代码
2016/12/20 HTML / CSS
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
问卷调查计划书
2014/01/10 职场文书
学生周末长期请假条
2014/02/15 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
小学优秀教师材料
2014/12/15 职场文书
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL
golang定时器
2022/04/14 Golang