12

我完全是编写 bash 脚本的菜鸟。我正在尝试执行以下操作:

#!/bin/bash

mkdir New_Project
cd New_Project
pipenv install ipykernel
pipenv shell
python -m ipykernel install --user --name==new-virtual-env
jupyter notebook

我遇到的问题是,在它执行之后pipenv shell,它会启动新的 shell,然后不执行最后两个命令。当我退出新外壳时,它会尝试执行剩余的行。有没有办法让脚本从头到尾运行所有这些命令?

4

1 回答 1

13

根据手册

shell 将生成一个激活了 virtualenv 的 shell。

这不是你需要的。而是使用run

run 将从 virtualenv 运行给定的命令,并转发任何参数(例如 $ pipenv run python)。

在你的情况下,像

pipenv run python -m ipykernel install --user --name==new-virtual-env
于 2018-01-02T07:08:11.973 回答