代码之家  ›  专栏  ›  技术社区  ›  tim_xyz

停用pipenv环境

  •  69
  • tim_xyz  · 技术社区  · 8 年前

    如何停用pipenv环境?

    使用其他工具,我可以执行以下操作 source deactivate ,但这在这里没有影响。

    创建环境:

    pipenv --three
    

    激活环境:

    source $(pipenv --venv)/bin/activate
    

    但如何停用?

    8 回复  |  直到 8 年前
        1
  •  70
  •   Martijn Pieters    6 年前

    为了更详细地阐述威廉姆斯的答案 expected workflow 是使用 pipenv shell 。当您以这种方式激活virtualenv时,控制台输出现在指示使用 exit :

    生成环境shell(/bin/zsh)。使用“退出”离开。

    正在尝试使用退出virtualenv deactivate 将使pipenv处于混乱状态,因为您仍将处于生成的shell实例中,而不是处于激活的virtualenv中。

        2
  •  44
  •   Williams    8 年前

    使用shell命令 exit 同样有效。

    在使用 deactivate 仍然给我留下了错误:

    Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated.
    No action taken to avoid nested environments.
    

    使用后 出口 我可以成功切换 pipenv 实例。这很可能是一个bug,我可能应该报告它。

        3
  •  33
  •   ohduran    7 年前

    使现代化 :请参阅下面的其他答案。如前所述,这适用于 virtualenv 但是 pipenv 工作方式不同。

    仅键入 deactivate 在命令行上。参见指南 here

        4
  •  9
  •   Jigyasu Dhingra    5 年前

    只需键入“exit”,它将带您离开shell。

    如果您使用“deactivate”,那么当您再次尝试进入shell时,可能会出现此错误。

    Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated.
        No action taken to avoid nested environments.
    

    因此,最好使用“退出”来快速访问。

        5
  •  7
  •   Rıdvan Nuri Göçmen    7 年前

    请检查此主题以获取来自的答案 contributor 透视图:

    https://github.com/pypa/pipenv/issues/84#issuecomment-275056943

    扰流板:

    pipenv使用virtualenv路径启动新的shell会话,而不是在当前shell会话中更改路径。这就是停用不起作用的原因。您需要退出shell会话。退出命令或CTRL-d将完成此操作。

        6
  •  6
  •   Mahfuz Khandaker    5 年前

    从pipenv虚拟环境中停用,只需运行以下命令即可。

    deactivate
    
        7
  •  0
  •   Dancan Ogachi    4 年前

    因为所导致的问题是由于之前在另一个目录中执行的shell操作,所以我所做的是通过ctrl+d退出新目录,然后退出终端。之后,我通过alt+t打开终端,将目录构建到预期的目录。然后运行pipenv shell命令。

        8
  •  -1
  •   Chiranjibi Poudyal    7 年前

    首先“停用”,然后“退出”,您将退出虚拟环境。到目前为止,这对我起了作用。