1. ホーム
  2. python

pyenv で virtualenv を有効にするのに失敗しました。

2023-10-09 15:29:14

質問

走っています。

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 . 後者が実行されるのは ログイン シェルでのみ実行され、前者はすべての対話型シェルで実行されます。