将Python虚拟环境与终结器配合使用

前端之家收集整理的这篇文章主要介绍了将Python虚拟环境与终结器配合使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用 Terminator,用户可以在配置文件中定义布局.通过这些布局,用户可以设置在启动时执行的命令.因此,例如,可以创建一个布局,终端自动执行ls(请注意bash命令以避免终端关闭):
command = "ls; bash"

现在,我如何让Terminator加载Python虚拟环境呢?当然,保持bash控制台在加载环境时处于活动状态.

注意

琐碎的方式:

command =“workon my_env; bash”

或其来源my_env / bin / activate等效(不使用virtualenvwrapper),不会工作.

解决方法

诀窍是用“一个”命令完成所有事情:bash.利用其-i选项(交互式)并使用自定义-rcfile,其中PROMPT_COMMAND设置为我们想要执行的任何内容.结果将是这样的:
command = "bash --rcfile <(cat ${HOME}/.bashrc; echo 'export PROMPT_COMMAND="workon my_env; unset PROMPT_COMMAND"') -i"

说明

>我们以交互式(-i)模式执行bash.
>我们从自定义命令文件(–rcfile)而不是.bashrc执行命令.
>使用.bashrc的内容和另外一个命令创建此文件.
>此额外命令导出PROMPT_COMMAND,其值为“我们想要执行的任何内容”.在这种情况下:workon my_env.
> PROMPT_COMMAND刚刚在第一次执行后未设置,以避免在每次与shell交互后执行多次.

人们可以轻松地扩展自定义命令,只需在my_env中编辑部件work.因此,如果您想从加载虚拟环境自动执行ls appart,您可以编写myon工作.相反.

原文链接:https://www.f2er.com/python/186038.html

猜你在找的Python相关文章