博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Python] Python 虚拟机 - virtualenv
阅读量:6844 次
发布时间:2019-06-26

本文共 2606 字,大约阅读时间需要 8 分钟。

virtualenv

virtualenv 用于创建一个隔离的 Python 环境。

每个项目都有自己的依赖包,这些依赖包有时存在版本冲突,处理这种情况最好方法就是为每个项目创建一个专属的环境。

安装

稳定版 $ sudo pip install virtualenv

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

用法

创建虚拟环境

1. 创建默认的虚拟环境

$ virtualenv env 命令表示创建一个名为 env 的虚拟环境。每个虚拟环境都包含一个专属的 env/bin/pythonenv/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    fifi

又例如进入 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    fifi

转载地址:http://tisul.baihongyu.com/

你可能感兴趣的文章
用jquery追加的元素不能触发treeview事件
查看>>
java代码走查审查规范
查看>>
各大Oj平台介绍 刷题平台
查看>>
MyEclipse------如何连接MySQL
查看>>
如何利用脚本实现MySQL的快速部署以及一机多实例的部署
查看>>
uva 11270 - Tiling Dominoes(插头dp)
查看>>
[翻译] - <Entity Framework> - 直接执行数据库命令
查看>>
异常:System.BadImageFormatException,未能加载正确的程序集XXX
查看>>
Unity3D架构设计NavMesh寻路(未完待续)
查看>>
DRM
查看>>
android:layout_gravity 和android:gravit的区别?
查看>>
数据库设计(2/9):域,约束和默认值(Domains, Constraints and Defaults)
查看>>
使用 LocalReport 对象进行打印
查看>>
[SLAM]2D激光扫描匹配方法
查看>>
省市区 - 三级联动通用化模块组件
查看>>
浅谈深度学习中潜藏的稀疏表达
查看>>
Android双击返回键退出Activity的两种方法
查看>>
正则表达式总结 java 等
查看>>
delphi query阻塞执行 长时间执行sql的解决办法
查看>>
maven打包异常
查看>>