Pyenv选择virtualenv目录

时间:2015-05-22 23:54:58

标签: python-3.x virtualenv pyenv

我刚刚开始使用pyenv来管理我的python版本,并开始使用pyenv virtualenv插件来管理我的virtualenvs,到目前为止,我已经喜欢它了。然而,我想念的一件事是,使用virtualenv,您实际上可以将虚拟环境放置在存储库目录中,以便您的存储库是一个完全可重现的环境。有没有人知道在pyenv中选择你的virtualenv目录的方法?

3 个答案:

答案 0 :(得分:0)

简短回答:据我所知,你不能。

它也不会真的有效,对吧?如果您使用pyenv virtualenv将virtualenv安装到repo中,并将该repo克隆到另一台机器上......新机器上的pyenv如何知道如何控制存储库中的virtualenv?

另外,“你可能不应该这样做”。 Virtualenvs并没有100%与基础Python安装解耦,并且实际上并不是那么便携。你是否真的想用一堆易于复制的垃圾乱丢你的存储库?处理事情的“正确”方法可能是维持requirements.txt点数 - 这样,无论您何时克隆回购,都可以轻松地重现您的开发环境。

所有人都说,没有什么可以阻止你使用普通的virtualenv来创建一个你喜欢的virtualenv,即使你在virtualenv下安装了一个Python解释器{ {1}}控制。那个virtualenv本身当然pyenv管理,但你仍然可以像往常一样使用它......

答案 1 :(得分:0)

有一种解决方法

在您的项目目录中,创建一个.python-version文件。假设您已经使用pyenv-virtualenv安装了一些虚拟环境,然后在其上添加以下行(您可能想要更改版本号):

3.7.1/envs/your-project-name@3.7.1

无论何时进入目录,都将使用正确的python版本,并且效果很好。

答案 2 :(得分:0)

这是项目跟踪工具上的GitHub问题,它询问以下问题:https://github.com/pyenv/pyenv/issues/802

reply by a project collaborator was

  

您可以在任何位置创建virtualenv。要从pyenv中使用它,请在〜/ .pyenv / versions

中创建指向环境的符号链接

尽管我必须说我是not very satisfied with this solution

相关问题