2024-05-13 18:43:52 发布
网友
因此,我试图创建一个脚本来启动urxvt终端并同时获取venv/bin/activatepython环境,如下所示:
urxvt
venv/bin/activate
virtualenv -p /usr/bin/python2.7 /tmp/venv; urxvt -e sh -c "bash -c 'source /tmp/venv/bin/activate'; bash"
由于某种原因,我不能让它工作
有人知道实现这一目标的其他方法吗
命令的问题
urxvt -e sh -c "bash -c 'source /tmp/venv/bin/activate'; bash"
第一个bash源于activate脚本,然后退出,这样第二个bash就不会在被激活的venv中启动。在激活venv的情况下,在-c '…'内运行第二个bash:
activate
-c '…'
urxvt -e sh -c "exec bash -c 'source /tmp/venv/bin/activate && exec bash'"
另外,我喜欢用exec替换当前shell,而不是让它分叉等待。节省几个处理器周期和几个字节的内存
exec
通过将其更改为以下内容解决了此问题:
urxvt -e bash -c "source /tmp/venv/bin/activate; sh"
但我不知道为什么会这样
命令的问题
第一个bash源于
activate
脚本,然后退出,这样第二个bash就不会在被激活的venv中启动。在激活venv的情况下,在-c '…'
内运行第二个bash:另外,我喜欢用
exec
替换当前shell,而不是让它分叉等待。节省几个处理器周期和几个字节的内存通过将其更改为以下内容解决了此问题:
但我不知道为什么会这样
相关问题 更多 >
编程相关推荐