批处理:启动pipenv shell,然后在虚拟环境中运行命令

时间:2018-07-11 17:00:35

标签: batch-file pipenv

这是一个批处理脚本:

Z:
cd Z:\different_directory
pipenv shell
cd ..\another_directory


:End
cmd  /k

这里发生的是启动了pipenv shell,但是虚拟环境没有cd。相反,一旦退出pipenv,它就会运行cd命令。

是否可以使用此批处理脚本从pipenv内部运行命令?

2 个答案:

答案 0 :(得分:1)

您可以使用pipenv run代替pipenv shell直接运行python命令或批处理脚本。您将无法直接运行pipenv run cd ../another_dir,但是我假设这不是主要目标,因为您只能在该会话中更改目录。您可以使用

创建一个批处理脚本,例如test.bat。
cd ../another_dir
python test.py

然后使用pipenv run test.bat运行它。下面的页面有更多详细信息。

来源: http://witkowskibartosz.com/blog/pipenv_run_vs_pipenv_shell.html#.W2SBZflKhaQ

答案 1 :(得分:1)

我知道这个问题很旧,但是如果你们中的任何一个人是通过google找到的,这就是确切的答案:只需使用pipenv shell "/c command [args]",在这种情况下就是pipenv shell "/c cd ..\another_directory"

为什么有效:就像documentation所说,shell之后出现的所有内容都将作为参数传递给子shell,而CMD上的参数/ c在shell生成时运行命令。所以那里。您甚至可以使它运行整个.bat。