0

我的主系统python版本是2.7.3。我正在尝试创建一个virtualenv使用版本 3.3.0 的。我安装了 pythonbrew、virtualenv 和 virtualenvwrapper。

我遵循了本教程:http ://technomilk.wordpress.com/2011/07/27/setting-up-our-django-site-environment-with-pythonbrew-and-virtualenv/

本质上运行pythonbrew use 3.3.0,然后创建一个virtualenv。该教程说 virtualenv 将使用 pythonbrew 使用的版本。但事实并非如此。virtualenv 在我启动时使用 2.7.3。当我这样做时pythonbrew use 3.3.0,它会离开 virtualenv 并应用于系统而不是环境。

显然,pythonbrew 有自己的 virtualenv 包装器,它有一个教程:http ://suvashthapaliya.com/blog/2012/01/sandboxed-python-virtual-environments/

我讨厌那样做。是否可以将 virtualenvwrapper 与 pythonbrew(而不是 pythonbrew 的 venv 包装器)一起使用,以便能够为每个 venv 选择使用哪个 python 版本,并将它们与系统 python 版本分开?

另外,我不想使用mkvirtualenv -p标志,因为这意味着我需要手动安装 python3.3。我宁愿坚持使用包管理器来管理 python 版本。很难相信 python 中的任何内容都不等同于 ruby​​ 中的 RVM ......除非我弄错了?

4

1 回答 1

1

也许你应该看看http://pypi.python.org/pypi/pythonbrew/。当我这样做时,我使用 pythonbrew 创建了 venv

pythonbrew install 2.7.3
pythonbrew switch 2.7.3
pythonbrew venv create proj

像冠军一样工作。

我已经开始在我的 git repo 下的 .folder 中创建我的虚拟环境,这样我就可以在不弄乱我的代码的情况下处理虚拟环境,如果我愿意的话,我可以重建它。我在使用 jenkins 为您执行 git clone 时遇到了这种技术,然后您必须弄清楚如何围绕它构建一个虚拟环境。

Python/proj
    .proj           <---- Virtual environment is in here!
        lib
        site-packages
    settings
    requirements
    apps

我还有一个对我有用的 bash 函数。

function workon() {
     if [ -d ~/Python/$1 ]
     then
            cd ~/Python/$1
            if [ -d .$1 ]
            then
                . .${1}/bin/activate
            else
                . bin/activate
                cd $1
            fi
     fi
}

这对于处理在虚拟环境中完成克隆的旧项目以及虚拟环境在项目中的新项目来说过于复杂。

于 2013-02-17T02:25:54.330 回答