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