在Windows下做嵌入式开发的同学,双系统,虚拟机应该都会用到。
双系统,重启切换系统,不开心吧。
虚拟机,占内存,网络不通(桥连还是共享),不爽吧。
用python的同学,
建立一个虚拟环境
virtualenv,virtualenvwrapper,pip
叠加使用起来,一堆命令,晕吧,记不清吧,傻傻分不清吧。
WSL让Windows与Linux在一起
什么是WSL
WSL: Windows Subsystem for Linux
大白话: Windows里跑个linux系统,两个同时运行,linux系统就相当于Windows下的一个程序
WSL安装方法见下链接(外链微信不允许
)
https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
双系统就是这么简单,
(必须笑出声)
我的WSL实战
- Windows和Ubuntu同时运行
Windows和Ubuntu同时运行
- Windows和Ubuntu文件共享
Windows和Ubuntu文件共享
- Windows和Ubuntu网络互连
Windows和Ubuntu网络互连
pipenv让python虚拟环境包管理更简单
没有对比就没有伤害
1. 新建虚拟环境
- virtualenv
三步
1$ cd your_project_folder 2$ virtualenv your_project 3 4$ virtualenv -p /usr/bin/python2.7 your_project(指定python版本) 5$ source your_project/bin/activate
- pipenv
两步
1$ cd your_project_folder 2$ pipenv install 3 4$ pipenv install --two(使用python2)
2. 安装包
- virtualenv
两步(完全独立命令)
1$ source your_project/bin/activate 2 3$ pip install requests 4$ pip install -r requirements.txt
- pipenv
两步,但更直观(命令格式一致且相关性强)
1$ pipenv shell 2$ pipenv install requests 3$ pipenv install -r requirements.txt 4 (如果目录下有requirements.txt文件,pipenv install就ok)
3. 包管理
- virtualenv
三步
1$ source your_project/bin/activate 2 3$ pip uninstall requests 4$ pip freeze > requirements.txt
- pipenv
三步,但更潇洒
1$ pipenv shell 2$ pipenv uninstall requests 3$ pipenv lock -r
virtualenv有的,pipenv都有
virtualenv没有的,pipenv还是有
- 命令补齐 (脑子记不住 Tab来补)
- 图形显示包依赖关系 ($ pipenv graph)
- 自动加载环境变量.env
- 支持开发环境与正式环境的包区分
- 自动管理 Pipfile 新安装和删除的包
……
pipenv一个干两个(virtualenv,pip)的活,命令更人性化
最后说一句 官方推荐
我的pinenv实战
- 命令补全
此处缺少动画
求一个动画制作工具吧(试用几个都不满意
)
- 图形显示包依赖
- 更多实战
请参见 官方文档
https://docs.pipenv.org/
使用pipenv的一些思考
虚拟环境建立和包管理,具体应用在哪些场景下呢?
个人认为下面几个很适用
- 多版本python隔离
- 生产环境和测试环境隔离
- 生产环境不同包版本共存和切换