Python可执行文件在#!适用于任何虚拟环境

时间:2020-05-05 16:03:10

标签: python virtualenv conda

如何编写python文件,以便在任何虚拟环境中都能正常运行。如果我将shabang放在虚拟环境的python解释器的路径顶部,则可以在任何地方运行该python文件,并且程序会找到其所有模块。但是,如果有人分叉我的代码并在其他位置构建虚拟环境,那么所有这些都会破坏。

1 个答案:

答案 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