使用 direnv 激活 pyenv 虚拟环境

问题描述 投票:0回答:1

我同时使用

direnv
pyenv
,并且想向我的
.envrc
添加一些内容,以便每当我更改目录时,我也会使用 pyenv 激活我的虚拟环境。

我在 virtualenv 处于活动状态和不活动状态时都打印了环境变量。设置了一些 pyenv 变量,我将其添加到我的

.envrc
中(见下文)。我希望这些能够在更改到目录后激活我的 pyenv 虚拟环境,但它不起作用。

我会继续研究这个问题并尝试解决它。如果我找到答案,我会用答案更新问题。与此同时,我很好奇是否有其他人配置了

direnv
,以便在
cd
' 到目录时加载虚拟环境。如果是这样,您介意分享一下您是如何做到的吗?

** 添加到 .envrc 后不起作用**

PYENV_VERSION=ds
PYENV_ACTIVATE_SHELL=1
PYENV_VIRTUAL_ENV=/Users/evan/.pyenv/versions/3.10.4/envs/ds
VIRTUAL_ENV=/Users/evan/.pyenv/versions/3.10.4/envs/ds
python virtualenv pyenv direnv
1个回答
0
投票

这可以使用 pyenv-virtualenv 而不是 direnv 来完成。首先,使 确保

eval "$(pyenv virtualenv-init -)"
~/.bashrc
中运行。然后,要使用 特定目录中的命名 virtualenv,将 virtualenv 名称放入文件中 在该目录中名为
.python-version
。例如在目录
~/py
:

$ pyenv virtualenv my-venv
$ mkdir ~/py
$ echo my-venv >~/py/.python-version
$ cd ~/py
(my-venv) $ python -V
Python X.Y.Z
© www.soinside.com 2019 - 2024. All rights reserved.