微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pyenv 和活动环境的问题

如何解决Pyenv 和活动环境的问题

我一直在使用 pyenv 和 virtualenv,直到最近似乎一切正常。我相信我的麻烦可能是由于自制软件对所有公式进行了全面升级,最终弄乱了某些 Python 版本。不确定...

在以下示例中,我尝试使用使用 Python 3.8.1 创建的虚拟环境。

重新启动后,如果我检查 python 版本:

  1. 使用 python,我得到了 MacOS 附带的版本
  2. 使用 python3 我得到 3.9.6,我不知道它是如何安装的
  3. 如果我激活 pyenv 环境,我希望在那里看到 3.8.1,我会再次看到 3.9.6
Last login: Mon Jul 19 11:40:41 on console
mdebarr06:~ cracolas$ echo $PATH
/usr/local/Cellar/pyenv-virtualenv/1.1.5/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin/Users/cracolas/.pyenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec:
mmdebarr06:~ cracolas$ python --version
Python 2.7.16
mdebarr06:~ cracolas$ python3 --version
Python 3.9.6
mdebarr06:~ cracolas$ pyenv activate gremlin
pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_disABLE_PROMPT=1' to simulate the behavior.
(gremlin) mdebarr06:~ cracolas$ python --version
Python 2.7.16
(gremlin) mdebarr06:~ cracolas$ python3 --version
Python 3.9.6
(gremlin) mdebarr06:~ cracolas$

我的整个 .bash_profile 是这样的:

# Clears every item in your path
unset path

export BASH_SILENCE_DEPRECATION_WARNING=1
export AWS_DEFAULT_REGION=us-east-1
export HOMEBREW_NO_INSTALL_CLEANUP=1
export ENABLE_LAMBDA_EXTENSIONS_PREVIEW=1
export JAVA_HOME=$(/usr/libexec/java_home)
export WORKON_HOME=~/.pyenv
export PROJECT_HOME=~/.virtualenvs
export PYENV_VERSION=3.8.1
export PYENV_ROOT=~/.pyenv

function dynamo_db(){
 cd ~/dynamolocal
 java -Djava.library.path=./DynamoDBLocal_lib/ -jar DynamoDBLocal.jar -sharedDb
}

export PATH+="$PYENV_ROOT/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec:"


eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

当我回显 $PATH 变量时,我得到以下信息:

/usr/local/Cellar/pyenv-virtualenv/1.1.5/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin/Users/mdebarros/.pyenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec:

如果我要 pyenv 版本,这里是可用的:

(gremlin) mdebarr06:~ cracolas$ pyenv versions
  system
  3.10-dev
  3.6.2
  3.6.8
  3.6.8/envs/lucidcharts
  3.6.8/envs/microblog
  3.7.6
  3.7.6/envs/pyspark
  3.8.1
  3.8.1/envs/gremlin
  3.8.1/envs/MysqL
  3.8.1/envs/owlready2
  3.9.0
* gremlin (set by PYENV_VERSION environment variable)
  lucidcharts
  microblog
  MysqL
  owlready2
  pyspark

如果我在自制软件上列出 python 版本: 我看到 python@3.8 和 python@3.9,其中 3.9 似乎与用作 python3认值相同的 3.9.6。

对如何解决此问题有任何想法或建议吗?

--MD。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。