详解Atom配置Python虚拟环境的方法(Windows环境)
发布时间 - 2021-04-01 00:00:00 点击率:次本篇文章给大家介绍一下windows环境下,atom编辑器配置python虚拟环境的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
相关推荐:《atom教程》
我为什么选择 Atom
Atom 在 Windows 的文本编辑器里面可以说是完全拍的上号的,用的人也比较多。我选择 Atom 主要还是因为之前用过 Vim,而 Atom 的 Vim 插件已经把常用功能全部都做到位了,包括 (Ctrl + A / Ctrl + X) 进行数字增减的操作。加上一个 ex-mode 插件实现 : 命令,已经非常贴合 Vim 的使用体验了。
至于为什么不用 Vim 了,因为 Vim 现在更新到 8.2 了,我以前配置的 vimrc 已经搬不过来了(救救孩子,孩子已经看不懂怎么配了 TAT)
Python 开发需求
为了便于管理第三方库,推荐在 Python 开发的时候构建虚拟环境。不过日常使用时,如果不是大项目,跑个作业或者测试程序,甚至可能代码还没有报错信息长,就没必要专门开一个虚拟环境了。
这时问题就来了,我安装的 Python 根目录下没有我想要的包,所以我想用虚拟环境的编译器去跑我的代码,但是我又不想在体验稀烂的 cmd 或者 Anaconda Prompt 里面去用命令跑我的程序,那怎么才能把这个功能集成到 Atom 里面呢?
相关插件
运行程序用的 atom-python-run
这里我的 Atom 可以跑程序的关键是 atom-python-run 这个插件:
这个插件允许你按下 F5 或 F6 就可以执行当前的程序。其实原理很简单,就是执行了一条自定义命令:
这条命令是可以更改的。改起来也很简单,只需要知道 {file} 代表的是当前文件,而每次按下 F5 都会执行一遍这条指令就好。
很显然,这个插件无法解决虚拟环境的问题。虽然你大可以把这条指令写明成用虚拟环境的 Python 编译器执行,但是其他插件的工作环境并没有变化。结果就是你写代码的时候 pylint 在不停地告诉你这个包找不到那个包不存在,强迫症当场去世。
虚拟环境插件尝试
所以我又去找了别的插件,参考了这篇文章找到了这个 atom-python-virtualenv.
博主在 Ubuntu 上搞好像没有问题,但我这 Windows 下却是不行的。尝试修改了很久的参数,却还是不行。最后,我翻到插件作者的说明,发现这个插件暂时不支持 anaconda 的虚拟环境!作者写了一个 To-Do list,其中有三项:
- 加入对用 pip 安装新包的支持;
- 加入对 pip 虚拟环境的支持;
- 加入对 conda 虚拟环境的支持。
也就意味着以上三者,现在都做不到。
解决方案
如果插件行不通的话,我想到的最简单的方法就是更改整个 Atom 的运行环境。Ubuntu 中 shell 的环境变量是可以继承到其子进程中的,也就是你在终端打开一个新的应用,这个应用的环境变量会继承这个终端的。在 Windows 内应该有类似的特性。
所以,我尝试从 Anaconda Pro
mpt 中用命令启动 Atom:
PS:Atom 安装没有自定义界面,应该会默认修改好环境变量(以及强制装在 C 盘)。但如果确实出现这条命令不存在的情况,可以自行找到 Atom 安装目录,把 bin 的路径夹放进 Path 环境变量,再重启命令行就好。
这个 base 环境下是没有 opencv 的,看到这里 import cv2 是报错的,继续运行也会出现错误。
而当我在 Anaconda Prompt 中更改虚拟环境再打开 Atom 时:
我发现 pylint 的报错消失了,程序也可以正常运行:
好诶!虽然这个方法肯定是做不到虚拟环境的热切换,但是本来就是写一个小项目要用,基本也不会有切换虚拟环境的需求,问题解决。
我这里是用 conda 的虚拟环境作的示例,实际上 pip 的虚拟环境也是一样的道理,只要先更改 shell 的环境变量,再在这个 shell 内执行 atom 命令打开 Atom 就完成了。
进一步,如果还是感觉这个解决方案需要每次启动都切换环境太麻烦,那么还可以把这两条命令封装起来,变成一个 bat 脚本文件。具体来说,新建一个文本文档,将以下命令
start /k cmd "conda activate&& atom"
输入,并将文档连同其扩展名重命名成一个 bat 文件,例如 atom_venv.bat。你可以把这个文件放在桌面,那么下次你希望启动虚拟环境为 的 Atom,那么只需要把命令里的 换成你的环境名就好。
这条命令会打开一个新的命令行窗口,并分别执行引号内 && 前后的两条指令,感兴趣的话可以查一查相关的脚本编写资料 XD
完成
Atom, 包括我之前用的 Vim,有一个共同的毛病,就是对 Windows 的支持比不上 Linux。这也很无奈,毕竟两种操作系统最初的目标群体就是不同的,设计理念上就有很大的出入。
不过呢,两种系统在近年来其实有相互取长补短的意思。撇开 Linux 的人性化界面不说,微软已经为 Windows 10 做出了一个终端。在微软商店里搜索 “Windows Terminal” 即可下载安装。这东西是基于 PowerShell 的,包装得很好,用着自然是比 cmd 舒服多了。支持很多 Terminal 的功能,比如很好用的代码自动补全,还有自己的配置文件,可以保存 Python 的虚拟环境方便下次使用。
啰嗦了挺多的hhh 其实估计大部分人并没有时间去读这些废话,所以我在解决方案这部分做到尽量简洁明了。但是我还是想嘴碎嘴碎,说点别的题外话。感谢你能看到这里。
更多编程相关知识,请访问:编程视频!!
# python
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高端智能建站公司优选:品牌定制与SEO优化一站式服务
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
JavaScript数据类型有哪些_如何准确判断一个变量的类型
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
Python文件操作最佳实践_稳定性说明【指导】
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
在线制作视频的网站有哪些,电脑如何制作视频短片?
如何登录建站主机?访问步骤全解析
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
Laravel PHP版本要求一览_Laravel各版本环境要求对照
Swift中循环语句中的转移语句 break 和 continue
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
如何快速生成凡客建站的专业级图册?
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
PHP正则匹配日期和时间(时间戳转换)的实例代码
Java类加载基本过程详细介绍
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
Laravel如何实现API速率限制?(Rate Limiting教程)
LinuxShell函数封装方法_脚本复用设计思路【教程】
西安专业网站制作公司有哪些,陕西省建行官方网站?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
Laravel如何配置任务调度?(Cron Job示例)
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
敲碗10年!Mac系列传将迎来「触控与联网」双革新
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
如何在IIS中新建站点并解决端口绑定冲突?
Laravel中的Facade(门面)到底是什么原理
怎么用AI帮你设计一套个性化的手机App图标?
想要更高端的建设网站,这些原则一定要坚持!
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
英语简历制作免费网站推荐,如何将简历翻译成英文?
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
MySQL查询结果复制到新表的方法(更新、插入)
如何确认建站备案号应放置的具体位置?
中国移动官方网站首页入口 中国移动官网网页登录
如何快速搭建自助建站会员专属系统?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
如何利用DOS批处理实现定时关机操作详解
,在苏州找工作,上哪个网站比较好?
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
详解MySQL数据库的安装与密码配置
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
长沙企业网站制作哪家好,长沙水业集团官方网站?
Laravel storage目录权限问题_Laravel文件写入权限设置

