加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜阳站长网 (https://www.0558zz.com/)- 科技、建站、内容创作、云计算、网络安全!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-15 13:39:44 所属栏目:Python 来源:互联网
导读:使用 Terminator,用户可以在配置文件中定义布局.通过这些布局,用户可以设置在启动时执行的命令.因此,例如,可以创建一个布局,终端自动执行ls(请注意bash命令以避免终端关闭): command = ls; bash 现在,我如何让Terminator加载Python虚拟环境呢?当然,保持bash

使用 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工作.相反.

(编辑:阜阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读