python – 如何从bash脚本中停用virtualenv
我是
shell脚本的新手,但我想制作一个bash脚本,用于使用virtualenv激活/停用虚拟环境.
然后我想像Ubuntu中的服务一样使用这个脚本将其复制到/etc/init.d文件夹中. 在我的脚本中,我有一个这样的变量: 此变量表示虚拟环境中的bin路径. 在脚本中,我可以使用以下语句激活虚拟环境: 这是可能的,因为activate是虚拟环境中bin目录内的文件. 但我不知道在我的脚本中使用的语句来停用我的虚拟环境. 问题是不存在名为deactivate的文件,但是取消激活是虚拟环境中bin / activate文件中的一个函数. 解决方法
制作这样有用的服务很难.
. ${VENV}/activate # note the dot 要么 source ${VENV}/activate 将source激活脚本,即运行其内容,就像它们是您获取它们的shell或脚本的一部分一样. virtualenvironment的激活is designed for this usage.相反,只是正常执行脚本 ${VENV}/activate # note: NO dot and NO 'source' command 将在子shell中运行其内容,并且不会产生任何有用的效果. 但是,您的服务脚本已经在自己的子shell中运行.因此,除了作为服务启动过程的一部分运行的任何python命令外,它不会产生任何影响. 从好的方面来说,你甚至不必关心去激活环境,除非你想在服务启动过程中运行更多的python东西,但是在你的virtualenv之外. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |