如果有人可以帮我解决这个问题,那就太好了。我目前在过去几天尝试了所有工作,但没有成功。我已经使用了pyenv和插件virtualenv大约一个月了,没有任何问题。有一天,我醒来发现我无法激活由pyenv创建的virtualenv。源bin / activate停止工作。我做了一切,从重新安装pyenv一直到重新安装Kubuntu并再次尝试没有成功。我不知道什么是错的。从下图中可以看出,我没有收到任何错误。根据我的理解,每当我激活virtualenv它会在我的名字前显示在我的名字之前,它不再做了。我确保添加“echo'eval”$(pyenv virtualenv-init - )“'>>〜/ .bashrc”以及所有其他必需的东西。 pyenv提供的所有其他选项仍然可以正常工作,它只能激活我的virtualenv。请帮忙。感谢
答案 0 :(得分:1)
这也让我有点理解,特别是因为我之前用virtualenvwrapper管理了我的virtualenv。有什么帮助,我查看了这个功能并看到了这个:
if [[ "$(pyenv version-name)" == "system" ]]; then
pyenv deactivate || true
elif [[ "$VIRTUAL_ENV" != "$(pyenv prefix)" ]]; then
pyenv deactivate || true
pyenv activate 2>/dev/null || true
fi
未涵盖的是,当您在pyenv中创建virtualenv时,它会显示为版本。所以当你这样做时
pyenv versions
你的虚拟环境会得到你的蟒蛇列表。为了实现这一点,它结合了旧功能和新功能。你可以这样做:
user@server [00:00:00] [~]
-> % cd Development/test
user@server [00:00:00] [~/Development/test]
-> % pyenv shell test
(test)user@server [00:00:00] [~/Development/test]
-> %
或者对于自动化:
user@server [00:00:00] [~]
-> % cd Development/test
user@server [00:00:00] [~/Development/test]
-> % pyenv local test
(test)user@server [00:00:00] [~/Development/test]
-> %
这会删除带有python版本的.python-version文件,pyenv将其读取并用作virtualenv python。
请记住像pyenv的python版本一样管理你的virtualenv,你应该能够把事情做好。例如,要自动停用,只需更改目录即可。如果你做了pyenv shell,你将需要pyenv shell --unset或pyenv shell {another_version}来移动virtualenv。
希望这有帮助!