WSL和pipenv用起来


在Windows下做嵌入式开发的同学,双系统,虚拟机应该都会用到。
双系统,重启切换系统,不开心吧。
虚拟机,占内存,网络不通(桥连还是共享),不爽吧。

用python的同学,
建立一个虚拟环境
virtualenv,virtualenvwrapper,pip
叠加使用起来,一堆命令,晕吧,记不清吧,傻傻分不清吧。


WSL让Windows与Linux在一起

什么是WSL

WSL: Windows Subsystem for Linux

大白话: Windows里跑个linux系统,两个同时运行,linux系统就相当于Windows下的一个程序

点击查看 WSL安装方法

双系统就是这么简单,哈哈哈哈(必须笑出声)

我的WSL实战
  1. Windows和Ubuntu同时运行

    Windows和Ubuntu同时运行Windows和Ubuntu同时运行
  2. Windows和Ubuntu文件共享

    Windows和Ubuntu文件共享Windows和Ubuntu文件共享
  3. 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)
    
  1. 安装包
  • 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)
    
  1. 包管理
  • 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还是有


  1. 命令补齐 (脑子记不住 Tab来)
  2. 图形显示包依赖关系 ($ pipenv graph)
  3. 检查装的包的安全性 ($ pipenv check)
  4. 自动加载环境变量.env
  5. 支持开发环境与正式环境区分
  6. 自动管理 Pipfile 新安装和删除的包
    ……

pipenv一个干两个(virtualenv,pip)的活
最后说一句 官方推荐

我的pinenv实战

  1. 命令补全
    此处缺少动画
    求一个动画制作工具吧(试用几个都不满意)

  2. 图形显示包依赖

  1. 更多实战,请点击 官方文档

pipenv管理包的优势

传统包管理的流程
requirements.txt
两种方式

  1. 只有包名,不带版本(基本不推荐,每次安装时版本不确定,可能不一样,风险不可知)

  2. 包名加版本(需要升级其中一个包时,操作不方便)

    1. 先 pip install 包名 --upgrade,再 pip freeze > requirements.txt
    2. 维护多个requirements.txt文件,需要升级的包放到额外的requirements-package-update.txt中,先pip install -r requirements-package-update.txt --upgrade
    1requirements.txt文件内容
    2cffi==1.5.2
    3cryptography==1.2.2
    4enum34==1.1.2
    5Flask==0.10.1
    6requirements-package-update.txt文件内容
    7cffi
    8Flask==0.12.1
    

使用pipenv的一些思考

虚拟环境建立和包管理,具体应用在哪些场景下呢?
个人认为下面几个很适用

  1. 多版本python隔离
  2. 生产环境和测试环境隔离
  3. 生产环境不同包版本共存和切换

下面的是我的公众号二维码图片,欢迎关注我。

图注:chafezhou公众号图注:chafezhou公众号


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值