python虚拟环境.exe文件使用情况



通过首次寻源运行脚本与有什么区别

source /venv/bin/activate
python script.py

并使用实际的python.exe运行脚本?

/venv/bin/python script.py

这两个命令总是做同样的事情吗?我看到的问题是,如果script.py调用其他python脚本,那么venv中的设置和包就不起作用。

这取决于script.py如何运行其他脚本。如果它使用sys.executable,也就是当前的python,/venv/bin/python,那么这两个命令是等效的。

如果script.py使用shell运行其他脚本(os.systemsubprocess等(,则第一个脚本是首选形式,因为它为所有子进程设置了$PATH,以便所有python脚本使用相同的虚拟环境。

还有最后一个音符。如果从script.py运行的某些脚本具有固定的shebang(如#!/usr/bin/python(,则无论以第一种或第二种方式运行script.py,这些脚本都不会在虚拟环境中运行。

相关内容

  • 没有找到相关文章

最新更新