【问题标题】:Pyenv virtualenv not activating, tried everything I knowPyenv virtualenv 没有激活,尝试了我所知道的一切
【发布时间】:2014-06-23 04:51:47
【问题描述】:

如果有人可以帮助我解决这个问题,那就太好了。在过去的几天里,我目前已经尝试了一切以使其正常工作,但没有成功。我已经使用 pyenv 和插件 virtualenv 大约一个月了,没有任何问题。一天醒来,发现我的 pyenv 创建的 virtualenv 无法激活。源 bin/activate 停止工作。我做了所有事情,从重新安装 pyenv 一直到重新安装 Kubuntu 并再次尝试但没有成功。我说不出有什么问题。如下图所示,我没有收到任何错误。据我了解,每次激活 virtualenv 时,它都会在我的控制台中显示在我的名字之前,但它不再这样做了。我确保添加 "echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc" 和所有其他所需的东西。 pyenv 可用的所有其他选项仍然可以正常工作,它只是激活我的 virtualenv。请帮忙。谢谢

【问题讨论】:

    标签: python virtualenv kubuntu


    【解决方案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。

    只要记住像 python 版本的 pyenv 一样管理你的 virtualenv,你应该能够保持一切正常。例如,要自动停用,您只需更改目录。如果你做了 pyenv shell,你需要 pyenv shell --unset 或 pyenv shell {another_version} 来移动 virtualenv。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2019-06-04
      • 2018-01-16
      • 2016-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      • 2020-10-31
      相关资源
      最近更新 更多