gpt4 book ai didi

python - 如何在 IPython shell 中获取或激活虚拟环境?

转载 作者:行者123 更新时间:2023-12-05 02:35:35 29 4
gpt4 key购买 nike

我使用 IPython 和 %bookmark 魔术命令,但限制是我需要退出 IPython shell 以激活虚拟环境,然后重新启动 IPython。

是否有内置于 IPython、第三方包或已知 hack 中的方法让我在不退出 IPython shell 的情况下激活环境?

实际工作流程

# within ipython shell
exit

# bash shell
cd path/of/my/project
poetry shell # or pipenv shell
ipython

预期的工作流程

%cd -b demographics

# activate venv

import package # from that env

最佳答案

这是一个很好的问题,但不幸的是,答案可能不是您所希望的。如果我正确理解你的问题 - 这是不可能的。因为虚拟 shell 激活本质上是运行子进程,它为另一个 Python 解释器设置 PATH,然后为此设置 PYTHONPATH 环境变量。子进程永远不能在任何操作系统中修改其父进程。例如,您不能更改已经运行的 Python 解释器,因为在内存中替换正在运行的进程非常复杂,而且在实践中从未做过。

如果这是一个工作流程问题并且您肯定想从 IPython 中执行此操作,我建议您编写一个单行复制粘贴命令来执行以下操作:

  • 使用 virtualenv 启动一个新的 IPython,例如(source venv/bin/activate && ipython)
  • 终止从 virtualenv 启动的旧的现有 IPython session (尽管不确定如何在 IPython 提示符下退出 IPython)

对于他的工作流程问题,可能有更好的解决方案。也许有一个类似于 %%bookmark 的工作流程,但是对于整个 Python 环境和流程,比如创建 shell 脚本。

关于python - 如何在 IPython shell 中获取或激活虚拟环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70512548/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com