Pyenv选择virtualenv目录

eri*_*tin 5 virtualenv python-3.x pyenv

我刚刚开始使用pyenv来管理我的python版本,并开始使用pyenv virtualenv插件来管理我的virtualenvs,到目前为止,我一直很喜欢它。但是我想念的一件事是,使用virtualenv,您实际上可以将虚拟环境放在存储库目录中,以便您的存储库是完全可复制的环境。有人知道在pyenv中选择您的virtualenv目录的方法吗?

wjv*_*wjv 8

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

它也不会真正起作用,对吧?如果您pyenv virtualenv习惯将 virtualenv 安装到pyenv存储库中,然后将该存储库克隆到另一台机器上……在新机器上如何知道控制存储库中的 virtualenv?

此外,“你可能不应该那样做”。Virtualenvs 并不是 100% 与底层 Python 安装解耦,也不是那么便携。你真的想用一堆容易复制的垃圾来散布你的存储库吗?处理事情的“正确”方法可能是维护一个requirements.txtfor pip — 这样您就可以在任何克隆存储库的地方轻松重现您的开发环境。

总而言之virtualenv,即使您安装virtualenv到受pyenv控制的 Python 解释器中,也没有什么能阻止您使用普通的 old在您喜欢的任何地方创建 virtualenv 。该 virtualenv 本身当然不会由 管理pyenv,但您仍然可以像往常一样使用它......

  • 当有人看这个问题时,我有一个“requirements.txt”和一个生成 virtualenv 的脚本。我想要一个在当前路径中查找 virtualenvs 的命令,并且不想管理“全局”virtualenvs。我希望我的 virtualenv 存在于一个目录中。 (2认同)

SIV*_*GOS 8

我使用以下命令:

pyenv local 3.9.16
Run Code Online (Sandbox Code Playgroud)

进而

python -m venv virtualenv
Run Code Online (Sandbox Code Playgroud)

有用


Cir*_*四事件 6

这是项目跟踪器上的一个 GitHub 问题,询问此问题:https ://github.com/pyenv/pyenv/issues/802

项目合作者的回复是:

您可以在任何位置创建 virtualenv。要从 pyenv 使用它,请在 ~/.pyenv/versions 中创建指向环境的符号链接

尽管我必须说我对这个解决方案不是很满意