python 虚拟环境 对比_Python虚拟环境指南2019版

本文介绍了Python虚拟环境的重要性,对比了不同管理工具如venv、pipenv和Anaconda的特点与使用场景。venv是Python 3自带的轻量级环境管理工具,pipenv则提供了更高级的依赖管理和工作流程,而Anaconda适用于科学计算领域。此外,文章还提及了Docker作为另一种环境隔离方案,通过容器化确保开发与部署环境的一致性。文中通过示例演示了如何创建和使用这些环境。
摘要由CSDN通过智能技术生成

这是一篇旧文,编写于2017年,用于公司内部交流。整理更新后于2019年04月06日重发,内容有效期乐观估计半年,阅读请注意保质期。

为什么用python虚拟环境

python版本差异

python当前主要有2个release版本 Python 2.7.16 和 Python 3.7.3 ,这两个版本在一些语法上存在较大差异。

如果你从网上下载了一段python代码,却运行不起来,首先要排除的是python版本问题。比如下面这个 hello_python.py ,代码非常简单,就一句打印 hello,world 到屏幕上。

print "hello,world"

复制代码

如果你使用python2.7,恭喜你可以很好的跑起来,如下:

(python27) ➜ python hello_python.py

hello,world

复制代码

如果你使用的是python3,可能就实现从入门到放弃:(

(python37) ➜ python hello_python.py

File "hello_python.py", line 3

print "hello,world"

^

SyntaxError: Missing parentheses in call to 'print'. Did you mean print("hello,world")?

复制代码python3 中让代码正常运行的办法和提示一样,修改语句为 print("hello,world")

python2.7已经 “过时”,pip运行是会提示:

DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.复制代码

现实状况却是一些库的版本问题或者历史遗留问题,可能需要在python2和python3之间切换。

python使用场景差异

python语言应用非常广泛,涉及服务器脚本、爬虫、程序开发、科学计算,大数据,机器学习等。不同的场景下,使用的库是有差异:

使用场景

常用库

程序开发

flask/django

爬虫

requests/beautifulsoup4/scrapy

科学计算

pandas/numpy/matplotlib

...

...

库又会依赖另外的库,这样如果全部安装在一个环境里,难以规避库的版本冲突。

鉴于python版本差异和使用场景差异,推荐使用虚拟环境进行隔离管理,省事不少。

怎么使用虚拟环境

使用 pip

使用虚拟环境之前,我们先花一点点时间来了解python的包安装工具 pip , 相信我这很简单。

Python的最大的优势之一是丰富的库,跨平台,在UNIX,Windows和Macintosh兼容很好。

安装这些库,让开发速度飚起来,就需要使用 pip。

下面使用pip安装requests库示例:

(py27studio) ➜ pytest pip install requests

Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple

Collecting requests

Downloading https://pypi.tuna.tsinghua.edu.cn/packages/f1/ca/10332a30cb25b627192b4ea272c351bce3ca1091e541245cccbace6051d8/requests-2.20.0-py2.py3-none-any.whl (60kB)

100% |████████████████████████████████| 61kB 1.5MB/s

Collecting chardet<3.1.0,>=3.0.2 (from requests)

Using cached https://pypi.tuna.tsinghua.edu.cn/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl

Collecting urllib3<1.25,>=1.21.1 (from requests)

Downloading https://pypi.tuna.tsinghua.edu.cn/packages/62/00/ee1d7de624db8ba7090d1226aebefab96a2c71cd5cfa7629d6ad3f61b79e/urllib3-1.24.1-py2.py3-none-any.whl (118kB)

100% |████████████████████████████████| 122kB 1.5MB/s

Collecting certifi>=2017.4.17 (from requests)

Downloading https://pypi.tuna.tsinghua.edu.cn/packages/56/9d/1d02dd80bc4cd955f98980f28c5ee2200e1209292d5f9e9cc8d030d18655/certifi-2018.10.15-py2.py3-none-any.whl (146kB)

100% |████████████████████████████████| 153kB 287kB/s

Collecting idna<2.8,>=2.5 (from requests)</

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值