- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我是 python 新手,我打算学习 django。我对 ruby(不是 rails)有一点经验,而且我熟悉 RVM 但是我不明白 pythonbrew 之间的区别 和 virtualenv 。我知道 pythonbrew 模仿了 RVM但我认为 virtualenv 已经在做 RVM 所做的事情(反之亦然, pythonbrew 已经在做 RVM 所做的事情)。有人可以解释一下,也许可以提供一些具体的例子/用法来帮助我理解它。非常感谢!
最佳答案
Pythonbrew 类似于 Ruby 的 rvm:它是一个 shell 函数,允许您:
您构建的 Python 彼此完全隔离,并且与系统范围内安装的任何 Python 版本无关。
Virtualenv 类似,但不完全相同。它创建了一个 Python 虚拟环境,从概念上讲,它位于一些现有 Python 安装(通常是系统范围的安装,但并非总是如此)之上。默认情况下,在 Unix 平台(和 Mac)上,它会创建指向各种 Python 库模块的符号链接(symbolic link),因此您实际上是在与“真正的”底层 Python 实现共享这些模块。但是,virtualenv 有自己的“bin”目录和“site-packages”目录。您在 Python 虚拟环境中安装的任何额外内容仅在该环境中可用。
Pythonbrew 的一个优势是它创建的 Python 环境是真正且完全独立的。它们不会被任何在底层基础 Python 安装中搞砸的东西所污染,因为没有底层基础安装。这不适用于 virtualenv 环境。如果你创建了一个 virtualenv Python,然后你以某种方式搞砸了它上面的基本 Python 实例(例如,在以 root 身份登录时意外删除了基本 Python 的“站点”目录的一部分),你将搞砸任何基于 virtualenv 的环境也在那个 Python 上。
不过,virtualenv 也有自己的优势。可能最大的优点是它是轻量级的。由于 Pythonbrew 从头开始编译 Python,因此要创建其环境之一,创建 Pythonbrew Python 环境需要一些时间。相比之下,创建 virtualenv Python 环境确实很快。
事实上,您可以将它们一起使用。这是您可能想要这样做的一种情况。
在这种情况下,您可以使用 Pythonbrew 在您的主目录下安装基础 Python 2.7,它不会与安装在其他位置的任何内容发生冲突。然后,您可以创建一个或多个基于 Pythonbrew 安装的 2.7 Python 的轻量级 virtualenv Python 环境。例如,您可以使用 virtualenv 为 Python 2.7 启动短期测试环境。
我怀疑大多数人是否真的这样做。 (我不知道。)但没有理由你不能。
关于python:pythonbrew 和 virtualenv 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8256723/
我一直在使用 argparse 模块来接受程序的输入,并取得了很大的成功。我定义了大约六个可选参数(需要在前面加上 -- 的参数可以放置在列表中的任何位置)和一个位置参数(使用放置顺序来确定参数的必需
我最近升级了我的 FreeBSD 盒子,现在 pythonbrew 似乎坏了。它从这一行的 .pythonbrew/etc/bashrc 文件中退出: PATH_WITHOUT_PYTHONBREW=
我用 python brew 安装了 python 2.7。如何安装软件包以使用它?我用 synaptic 安装了 MySQLdb,但我无法在 python 2.7 中导入它。 最佳答案 切换到 2.
当我的 shell 是 ZSH 时,任何人都可以阐明如何安装 pythonbrew/pythonz 吗?我使用的是 ubuntu 12.04。 我遵循了curl的标准安装,然后将该行添加到~/.bas
我正在尝试从 bash 脚本中停用 pythonbrew。在 shell 内输入 pythonbrew off 可以正常工作。 在我的 bash 脚本中,pythonbrew off 被忽略。使用 e
我尝试从 pythonbrew 安装 python,正如 SublimeClang 教程告诉我的那样。我已经执行了命令 sudo ./pythonbrew install --configure="-
我已经开始使用 pythonbrew 来管理不同的 Python 安装。我想这样做的主要原因是安装第三方模块而不影响我系统的 Python 安装。 例如,我想我会使用以下方法安装 requests 库
我已经使用“pythonbrew install”安装了多个Python版本。但是,对于 python 3.3,我收到消息: ERROR: Unknown python version: `Pytho
我是 python 新手,我打算学习 django。我对 ruby(不是 rails)有一点经验,而且我熟悉 RVM 但是我不明白 pythonbrew 之间的区别 和 virtualenv 。我
来自这个问题: Manage python version in different virtualenv with pythonbrew 我按照答案的说明输入: pythonbrew venv cr
我最近在工作地点的 cron 脚本中遇到了这个问题: /bin/bash -c "[[ -s $HOME/.pythonbrew/etc/bashrc ]] && source $HOME/.pyth
这个 wtf 发生在 Debian 上,在一些愚蠢的 pip 安装期间,在 python3.4.1 中 Traceback (most recent call last): File "/home
尝试在 OS X Lion 上使用 XCode 4.3.1 构建 pgmagick 时,我并没有取得多大成功。 我已经使用以下命令(通过自制软件)安装了 ImageMagick 和 GraphicsM
我正在尝试使用 Pythonbrew 构建多个版本的 python ,但我遇到了一些测试失败。这是在运行的 VM 上:Ubuntu 8.04 32bit 当我使用 --enable-shared 选项
我是一名优秀的程序员,十分优秀!