无法使用 pyenv 激活 virtualenv
Failed to activate virtualenv with pyenv
我运行:
pyenv activate new_app
我得到:
Failed to activate virtualenv.
Perhaps pyenv-virtualenv has not been loaded into your shell properly.
Please restart current shell and try again.
我正在尝试按照本教程进行操作:https://tutorials.technology/tutorials/59-Start-a-flask-project-from-zero-building-api-rest.html
其他信息:
bash-3.2$ python --version
Python 3.6.0
bash-3.2$ pyenv version
3.6.0 (set by /Users/me/Projects/flask_api/.python-version)
bash-3.2$ pwd
/Users/me/Projects/flask_api
bash-3.2$ pyenv versions
system
3.5.1
3.5.1/envs/my_env_3_5_1
* 3.6.0 (set by /Users/me/Projects/flask_api/.python-version)
3.6.0/envs/new_app
flask_app
my_env_3_5_1
new_app
bash-3.2$ virtualenv --version
15.1.0
bash-3.2$ pyenv virtualenvs
3.5.1/envs/my_env_3_5_1 (created from /Users/me/.pyenv/versions/3.5.1)
3.6.0/envs/new_app (created from /Users/me/.pyenv/versions/3.6.0)
flask_app (created from /System/Library/Frameworks/Python.framework/Versions/2.7)
my_env_3_5_1 (created from /Users/me/.pyenv/versions/3.5.1)
new_app (created from /Users/me/.pyenv/versions/3.6.0)
我最近做了我的 .bash_profile
它包含:
bash-3.2$ cat ~/.bash_profile
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
exec "$SHELL"
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
如何正确启动virtualenv?
那个
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
应该在.bashrc
,而不是.bash_profile
。后者仅由 login shell 执行,前者由所有交互式 shell 执行。
- 将以下行添加到您的
~/.bash_profile
或 ~/.zprofile
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
- 重新启动shell或运行命令:
source ~/.bash_profile
注:
如果您正在使用 zsh shell(macOS Catalina and/or 的默认设置Big Sur) 你必须使用 ~/.zprofile
文件而不是 ~/.bash_profile
在 ~/.zshrc
文件中:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
遗憾的是,仅 eval
行(如 pyenv 和 pyenv-virtualenv 说明中所述)对我不起作用。
对我来说,下面修复了我的 problem.I 我正在使用 MACbook-PRo
谢谢@Kalanos
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -) "```
我运行:
pyenv activate new_app
我得到:
Failed to activate virtualenv.
Perhaps pyenv-virtualenv has not been loaded into your shell properly.
Please restart current shell and try again.
我正在尝试按照本教程进行操作:https://tutorials.technology/tutorials/59-Start-a-flask-project-from-zero-building-api-rest.html
其他信息:
bash-3.2$ python --version
Python 3.6.0
bash-3.2$ pyenv version
3.6.0 (set by /Users/me/Projects/flask_api/.python-version)
bash-3.2$ pwd
/Users/me/Projects/flask_api
bash-3.2$ pyenv versions
system
3.5.1
3.5.1/envs/my_env_3_5_1
* 3.6.0 (set by /Users/me/Projects/flask_api/.python-version)
3.6.0/envs/new_app
flask_app
my_env_3_5_1
new_app
bash-3.2$ virtualenv --version
15.1.0
bash-3.2$ pyenv virtualenvs
3.5.1/envs/my_env_3_5_1 (created from /Users/me/.pyenv/versions/3.5.1)
3.6.0/envs/new_app (created from /Users/me/.pyenv/versions/3.6.0)
flask_app (created from /System/Library/Frameworks/Python.framework/Versions/2.7)
my_env_3_5_1 (created from /Users/me/.pyenv/versions/3.5.1)
new_app (created from /Users/me/.pyenv/versions/3.6.0)
我最近做了我的 .bash_profile
它包含:
bash-3.2$ cat ~/.bash_profile
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
exec "$SHELL"
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
如何正确启动virtualenv?
那个
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
应该在.bashrc
,而不是.bash_profile
。后者仅由 login shell 执行,前者由所有交互式 shell 执行。
- 将以下行添加到您的
~/.bash_profile
或~/.zprofile
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
- 重新启动shell或运行命令:
source ~/.bash_profile
注:
如果您正在使用 zsh shell(macOS Catalina and/or 的默认设置Big Sur) 你必须使用 ~/.zprofile
文件而不是 ~/.bash_profile
在 ~/.zshrc
文件中:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
遗憾的是,仅 eval
行(如 pyenv 和 pyenv-virtualenv 说明中所述)对我不起作用。
对我来说,下面修复了我的 problem.I 我正在使用 MACbook-PRo 谢谢@Kalanos
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -) "```