python 虚拟环境.exe文件使用
python virtual environment .exe file usage
运行 脚本与首次采购有什么区别:
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
运行s 其他脚本使用 shell(os.system
、subprocess
等),那么第一个是首选形式,因为它为所有子进程设置 $PATH
,以便所有 python 脚本使用相同的虚拟环境。
还有最后的说明。如果 script.py
中 运行 的某些脚本已经修复了像 #!/usr/bin/python
这样的 shebang,那么无论您采用第一种或第二种方式,这些脚本都不会 运行 在您的虚拟环境中 运行 script.py
.
运行 脚本与首次采购有什么区别:
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
运行s 其他脚本使用 shell(os.system
、subprocess
等),那么第一个是首选形式,因为它为所有子进程设置 $PATH
,以便所有 python 脚本使用相同的虚拟环境。
还有最后的说明。如果 script.py
中 运行 的某些脚本已经修复了像 #!/usr/bin/python
这样的 shebang,那么无论您采用第一种或第二种方式,这些脚本都不会 运行 在您的虚拟环境中 运行 script.py
.