Python脚本能否激活虚拟环境,然后在其中触发交互式pdb会话?

2024-04-18 07:35:29 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的Linux机器上,我可以激活虚拟环境并使用以下bash命令启动交互式调试会话-

source ~/pytorch-3.7-env/bin/activate
python -m pdb ~/python_project/testscript.py

python脚本能实现同样的效果吗

当我试图在子shell中执行第一个命令source ~/pytorch-3.7-env/bin/activate时失败,可能是因为source是bash内置的-

>>> os.system("source pytorch-3.7-env/bin/activate")
sh: 1: source: not found
32512

有什么想法吗


Tags: py命令envproject脚本bash机器source
2条回答

可以,但没有理由:您可以直接调用virtualenv的python(~/pytorch-3.7-env/bin/python),它将在正确的环境中执行。在非交互式环境中,无需激活环境

最好的方法是使用:

#! ~/pytorch-3.7-env/bin/python

在文件的顶部

或 您可以使用subprocess:来执行命令

import subprocess
subprocess.call(". .FULL_PATH/pytorch-3.7-env/bin/python")

相关问题 更多 >