设为首页 收藏本站
查看: 1508|回复: 0

[经验分享] [Python] Python 虚拟机

[复制链接]

尚未签到

发表于 2015-4-21 07:26:47 | 显示全部楼层 |阅读模式
virtualenv
  virtualenv 用于创建一个隔离的 Python 环境。
  每个项目都有自己的依赖包,这些依赖包有时存在版本冲突,处理这种情况最好方法就是为每个项目创建一个专属的环境。

安装

稳定版 $ sudo pip install virtualenv

最新版 $ sudo pip install https://github.com/pypa/virtualenv/tarball/develop

用法

创建虚拟环境

1. 创建默认的虚拟环境
  $ virtualenv env 命令表示创建一个名为 env 的虚拟环境。每个虚拟环境都包含一个专属的 env/bin/python 和 env/bin/pip,任何时候运行它们都表示 env 将作为你的运行环境。

2. 创建指定解释器版本的虚拟环境
  如果你的系统中同时安装了两个版本的 Python,例如 python2.7 和 python3.4,那么你可以指定创建的虚拟环境中使用哪个版本的 Python。
  $ virtualenv -p python2.7 env2.7 或 $ virtualenv -p python3.4 env3.4。

3. 创建继承系统第三方库的虚拟环境
  如果你已经安装了一些第三方库在系统的 site-packages 目录中,你希望在新的虚拟环境中也可以使用它们,那么你可以使用 --system-site-packages 选项:
  $ virtualenv --system-site-packages env

启用和退出虚拟环境

1. 启用虚拟环境
  要启用 env 虚拟环境,只需要运行 $ source env/bin/activate 命令,该命令会修改系统路径 $PATH,将 env/bin 路径置于系统路径之首。source 命令表示更改当前 Shell 环境。
  启用了虚拟环境后,所有使用 pip 命令新安装的程序包都将置于当前环境下,而不会影响到系统环境或者其他虚拟环境。

2. 退出虚拟环境
  退出虚拟环境只要执行 $ deactivate 命令。

virtualenvwrapper
  virtualenvwrapper 是一个基于 virtualenv 之上的工具,它将所有的虚拟环境集中起来管理。

安装
  $ sudo pip install virtualenvwrapper 命令会自动安装 virtualenvwrapper 及其依赖包 virtualenv, virtualenv-clone
  virtualenvwrapper 默认将所有虚拟环境放在 ~/.virtualenvs 目录下管理,你可以修改环境变量 WORKON_HOME 来指定虚拟环境的保存目录。
  使用 $ source /usr/local/bin/virtualenvwrapper.sh 命令来启用 virtualenvwrapper,你可以将该命令添加到 ~/.bashrc 或 ~/.profile 等 shell 启动文件中,以便登录 shell 后可以直接使用 virtualenvwrapper 提供的命令。

用法

1. 创建虚拟环境
  $ mkvirtualenv env 命令表示在 $WORKON_HOME 目录下创建了一个 env 虚拟环境。

2. 启动虚拟环境
  $ workon env 命令表示启用了 env 虚拟环境。workon 命令会自动停用当前所处的虚拟环境(如果存在的话)然后启动指定的虚拟环境,这样你就可以快速在各个虚拟环境之间切换。另外 workon 命令还提供了虚拟环境名称自动补完功能以帮助你选择虚拟环境。

3. 退出虚拟环境
  执行 $ deactivate 命令退出虚拟环境。

4. 删除虚拟环境
  执行 $ rmvirtualenv env 命令删除 env 虚拟环境。

5. 其他命令


  • lsvirtualenv 显示所有虚拟环境。  

  • cdvirtualenv 跳转至当前虚拟环境目录,方便查看虚拟环境的 site-packages 目录。  

  • cdsitepackages 直接跳转至当前虚拟环境的 site-packages 目录。  

  • lssitepackages 显示当前虚拟环境的 site-packages 目录内容。
autoenv
  autoenv 可以让你进入一个含有 .env 文件的目录时,自动执行 .env 文件来设置系统环境。
  如果进入某个项目目录时自动激活它所对应的虚拟环境,那么可以在 .env 文件中配置激活期待的虚拟环境。

安装
  $ sudo pip install autoenv 命令自动安装 autoenv 工具。
  使用 $ source /usr/local/opt/autoenv/activate.sh 命令启用 autoenv 工具,你可以将该命令添加到 ~/.bashrc 等 shell 启动文件中。

用法
  为项目设置特定的系统环境,那么可以在项目根目录下面新建一个 .env 文件,将所需设定的系统环境写在 .env 文件中。
  当启用 autoenv 后,它会自动执行 .env 文件。
  例如进入 workspaces 目录自动退出虚拟环境,编辑 workspaces/.env 添加以下内容:
  

BASE_PATH=`dirname "${BASH_SOURCE}"`  
PWD=`pwd`
  

  
if [[ "${BASE_PATH}" == "${PWD}" ]]
  
then
  declare -f -F deactivate &>/dev/null
  

  if [[ "${?}" == "0" ]]
  then
  deactivate
  fi
  
fi
  

  又例如进入 workspaces/project 目录自动激活虚拟环境,编辑 workspaces/project/.env 添加以下内容:
  

BASE_PATH=`dirname "${BASH_SOURCE}"`  
PWD=`pwd`
  

  
if [[ "${BASE_PATH}" == "${PWD}" ]]
  
then
  if [[ -e bin/activate ]]
  then
  source bin/activate
  fi
  
fi
  

附录



  • Virtual Environments  

  • Virtualenv Documentation  

  • Virtualenvwrapper Documentation  

  • Using autoenv with python virtualenvs  

  • Github: autoenv

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-58990-1-1.html 上篇帖子: Python入门笔记(2):基础(上) 下篇帖子: 轻松自动化---selenium-webdriver(python) (五)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表