WSL和pipenv用起来


在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实战

  1. Windows和Ubuntu同时运行

Windows和Ubuntu同时运行

  1. Windows和Ubuntu文件共享

Windows和Ubuntu文件共享

  1. 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还是有


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

pipenv一个干两个(virtualenv,pip)的活,命令更人性化 最后说一句 官方推荐

我的pinenv实战

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

)

  1. 图形显示包依赖
  1. 更多实战

请参见 官方文档

https://docs.pipenv.org/

使用pipenv的一些思考

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

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

原文发布于微信公众号 - chafezhou(gh_5b8f0c59b682)

原文发表时间:2018-02-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏芋道源码1024

深入理解负载均衡

负载均衡是高可用架构的一个关键组件,主要用来提高性能和可用性,通过负载均衡将流量分发到多个服务器,同时多服务器能够消除这部分的单点故障。

1381
来自专栏全华班

springcloud学习手册-什么是springcloud?

了解springcloud前先简单了解一下springboot框架。

29011
来自专栏FreeBuf

隐藏在注册表的恶意软件 – Poweliks

日前,国外安全公司GData发现一款比较新型的恶意软件,并定义名称为Poweliks,该恶意软件能够持久的感染目标机器,比较新颖的是该软件不会在目标主机上安装任...

21110
来自专栏向治洪

hibernate 5.2.6新特性

概述 Hibernate ORM 5.2.6 发布了,Hibernate是一种Java语言下的对象关系映射解决方案。 它是使用GNU宽通用公共许可证发行的自由、...

1969
来自专栏张善友的专栏

REST当中为什么要使用HTTP PUT

REST(Representational State Transfer)是网络服务接口的一种风格,并不是一个标准,就web service而言,REST要比S...

2138
来自专栏极客猴

Django 学习笔记之环境搭建

古人云:功遇善其事,必先利其器。在正式学习 Django Web 框架之前,我们要把准备工作做好。准备工作主要是搭建开发环境,具体工作是安装 Python、创建...

782
来自专栏芋道源码1024

IntelliJ IDEA 内存优化最佳实践

【编者按】本文作者在和同事的一次讨论中发现,对 IntelliJ IDEA 内存采用不同的设置方案,会对 IDE 的速度和响应能力产生不同的影响。

1997
来自专栏Rainbond开源「容器云平台」

使用Java构建微服务

972
来自专栏企鹅号快讯

Java框架之spring—jdbcTemplate第二节

Java框架之spring—jdbcTemplate 小伙伴们还记得 Spring IOC 的注解注入方式吗? 今天就来把上次写的 jdbcTemplate 转...

36010
来自专栏Java进阶架构师

IntelliJ IDEA 内存优化最佳实践

原文链接::http://blog.oneapm.com/apm-tech/426.html

652

扫码关注云+社区