激活虚拟环境并从bash脚本在中运行命令

激活虚拟环境并从bash脚本在中运行命令,bash,docker,pipenv,Bash,Docker,Pipenv,我使用bash脚本作为docker容器的入口点。我的目标是能够激活docker容器中的虚拟环境,然后从相同的bash脚本中运行其中的命令,而无需手动输入。 脚本的相关部分如下所示 #!/bin/bash pipenv shell ln -s /usr/local/lib/python3.7/dist-packages /usr/local/lib/python3.7/site-packages command to be run within venv python3 问题在于,当pipenv

我使用bash脚本作为docker容器的入口点。我的目标是能够激活docker容器中的虚拟环境,然后从相同的bash脚本中运行其中的命令,而无需手动输入。 脚本的相关部分如下所示

#!/bin/bash
pipenv shell
ln -s /usr/local/lib/python3.7/dist-packages /usr/local/lib/python3.7/site-packages
command to be run within venv
python3

问题在于,当pipenv外壳运行时,venv被激活并输入,但命令的其余部分不在其中运行。我可以在venv中手动运行命令,脚本的其余部分等待我退出。如何指定要在其中运行的命令?

您可以使用
pipenv run
在虚拟环境中直接运行
python
bash
脚本。只需编写一个脚本,其中包含希望在您的环境中运行的命令
script.sh
,然后执行
pipenv run script.sh

Script.sh:

ln-s/usr/local/lib/python3.7/dist-packages/usr/local/lib/python3.7/站点包
要在venv中运行的命令
蟒蛇3

然后简单地说:
pipenv运行脚本.sh


这是否回答了您的问题?