Python沙箱环境搭建

故事扮演 提交于 2020-02-28 21:42:10

有人说 Virtualenv、Fabric 和 PIP 是 Pythoneer 的三大神器

上面是python界流行的一句话,具体的:

  • Virtualenv 用于创建一个隔离的python沙箱环境
  • Fabric 用于自动化远程部署项目
  • PIP 则是Python的包管理工具

Virtualenv,python界最流行的沙箱工具

  • Python包之间有强版本依赖关系,往往包版本的不同就会造成程序运行失败
  • 不同的项目我们往往需要不同的包,所以我们很难在单一的系统python环境下做到完全兼容

virtualenv很好的解决了这些问题,它通过修改环境变量为我们提供了一个 在系统环境之外的隔离的独立的python环境,在这个沙箱环境中你可以自由组合不同版本的Package,甚至是Python解释器。

此外,类似的工具还有另外两个

  1. zc.buildout 一个更为强大的python构建系统,较之于virtualenv有较高的定制特性,但比较复杂
  2. 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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!