我在Mac OS X上,我通过pyenv安装了两个Python版本(3.6.11和3.8.5)。全局python版本是3.8.5,我有一个项目文件夹myproject
,配置了pyenv local
来使用版本3.6.11。为了启用python版本之间的自动切换,我在eval "$(pyenv init -)"
和.bashrc
中都执行了.bash_profile
。当我使用Mac终端模拟器时,所有这些工作正常。当我在python --version
中时,myproject
给出3.6.11,在其他任何地方时给出3.8.5。
但是,如果我启动jupyterlab服务器(在myproject
之外)并使用来自jupyterlab的终端仿真器,即使我在myproject
中,我看到的python版本始终是3.8.5。即使我在jupyterlab终端中手动运行eval "$(pyenv init -)"
,切换仍然无法进行。
编辑:
我注意到在Mac OS终端中看到的$PATH
变量与jupyterlab终端中的变量不同。前者是
/Users/wiebuschm/.local/opt/google-cloud-sdk/bin:/usr/local/Cellar/pyenv-virtualenv/1.1.5/shims:/Users/wiebuschm/.pyenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin
而后者是
/usr/local/Cellar/pyenv-virtualenv/1.1.5/shims:/Users/wiebuschm/.pyenv/shims:/Users/wiebuschm/.pyenv/versions/3.8.5/bin:/usr/local/Cellar/pyenv/1.2.20/libexec:/Users/wiebuschm/.local/opt/google-cloud-sdk/bin:/usr/local/Cellar/pyenv-virtualenv/1.1.5/shims:/Users/wiebuschm/.pyenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin
但是,我不知道是什么原因造成了这种差异,即使我在jupyterlab终端中将PATH
手动设置为与Mac OS终端中的相同,它仍然不会在以下情况下自动切换Python版本:我进入myproject
。