如何编写python文件,以便在任何虚拟环境中都能正常运行。如果我将shabang放在虚拟环境的python解释器的路径顶部,则可以在任何地方运行该python文件,并且程序会找到其所有模块。但是,如果有人分叉我的代码并在其他位置构建虚拟环境,那么所有这些都会破坏。
答案 0 :(得分:2)
使用env
命令查找python,而不是使用硬编码路径。
这是解决此问题的常用方法。
NAME
env - run a program in a modified environment
SYNOPSIS
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]
因此,沙邦文字应为:
#!/usr/bin/env python
或
#!/usr/bin/env python3
其他脚本语言也可以这样完成:
#!/usr/bin/env perl