2019独角兽企业重金招聘Python工程师标准>>>
有人说 Virtualenv、Fabric 和 PIP 是 Pythoneer 的三大神器
上面是python界流行的一句话,具体的:
- Virtualenv 用于创建一个隔离的python沙箱环境
- Fabric 用于自动化远程部署项目
- PIP 则是Python的包管理工具
Virtualenv,python界最流行的沙箱工具
- Python包之间有强版本依赖关系,往往包版本的不同就会造成程序运行失败
- 不同的项目我们往往需要不同的包,所以我们很难在单一的系统python环境下做到完全兼容
virtualenv很好的解决了这些问题,它通过修改环境变量为我们提供了一个 在系统环境之外的隔离的独立的python环境,在这个沙箱环境中你可以自由组合不同版本的Package,甚至是Python解释器。
此外,类似的工具还有另外两个
- zc.buildout 一个更为强大的python构建系统,较之于virtualenv有较高的定制特性,但比较复杂
- pyenv 仅支持切换不同版本的python解释器
利用virtualenv搭建沙箱环境
pip install virtualenv #安装virtualenv#创建一个名为venv1的沙箱环境
#--no-site-packages选项将禁用沙箱继承系统pyton环境的package
virualenv --no-site-packages venv1 #该命令将自动创建一个venv1目录,并在其中安装python解释器,pip工具等等#沙箱环境的启动和关闭
source venv1/script/activate
source venv1/script/deactivate
virtualenv搭建沙箱环境时有几点需要留意
- 系统需要支持软连接,这涉及到virtualenv的运行方式
- 请勿使用root账号创建环境,否则后期package的安装及使用中会出现各种意想不到的权限错误
PIP,强大的python包管理器
#pip使用之前需要安装几个依赖
sudo yum install python-devel openssl-devel libxml2-devel libxslt-devel# 2.7.9之前的python版本需要升级下pip并安装几个python包,否则后续pip安装包过程中会有报错
pip install --upgrade pip
pip install cryptography
pip install ndg-httpsclient## 使用PIP安装包示例 ##
pip install scrapy == 1.1.1 //安装指定版本的scrapy
#亦可通过requirements配置文件一次性自动安装所有依赖
pip install -r requirement.txt