Python 一致性shebangs
我试图创建一个可执行的python脚本,以便在命令行上使用(目标是上传到PyPi)。为此,我需要添加一个shebangPython 一致性shebangs,python,executable,shebang,Python,Executable,Shebang,我试图创建一个可执行的python脚本,以便在命令行上使用(目标是上传到PyPi)。为此,我需要添加一个shebang 在linux上我有#/usr/bin/env python3 对于windows,我需要#!蟒蛇3 如何为不同的操作系统获得适当的shebang 旁注:我查看了conda环境中的一个可执行文件(cookiecutter)示例。我注意到这是一个很好的例子 #!/home/<my-name>/miniconda/envs/<some-environment&g
- 在linux上我有
#/usr/bin/env python3
- 对于windows,我需要
#!蟒蛇3
#!/home/<my-name>/miniconda/envs/<some-environment>/bin/python3.6
#/home//miniconda/envs//bin/python3.6
康达在这里做些聪明的事吗?那pip呢?Linux系统。只要始终如一地使用Linux shebang。Conda的shebang旨在启动一个非常特定的Python安装;一般来说,您希望使用默认的最新Python 3安装,Linux上的路径查找方法(以及Windows上的仿真)就是您想要的。只要始终如一地使用Linux shebang。Conda的shebang旨在启动一个非常特定的Python安装;通常,您希望使用默认的最新Python3安装,Linux(和Windows上的仿真)上的路径
查找方法就是您想要的。使用控制台脚本
功能
它将为您生成shebang使用控制台脚本
功能
它将为您生成shebang您使用什么来安装脚本?使用setup.py
的任何东西都已经存在,因此作者不必担心只与最终用户有关的事情。要清楚,不要假设脚本应该使用用户路径中的任何Python运行,这就是/usr/bin/env python3
所做的。也许您的用户根本不使用Python2,也不使用python3
作为python3解释器的名称;当安装到您的虚拟环境中时,shebang被替换为属于该虚拟环境的Python二进制文件的路径。@chepner这由用户决定python3
是解释器的默认和推荐名称,如果用户安装了python3,则解释器的某些版本应位于用户路径中。我知道一些POSIX操作系统在默认情况下会有所不同(忘记了哪个),但是…呃,默认情况是根据谁来决定的?无论如何,重点是,作者不应该担心口译员的位置;这由安装程序决定,这就是Python(一直到distutils
)所支持的。您使用什么来安装脚本?使用setup.py
的任何东西都已经存在,因此作者不必担心只与最终用户有关的事情。要清楚,不要假设脚本应该使用用户路径中的任何Python运行,这就是/usr/bin/env python3
所做的。也许您的用户根本不使用Python2,也不使用python3
作为python3解释器的名称;当安装到您的虚拟环境中时,shebang被替换为属于该虚拟环境的Python二进制文件的路径。@chepner这由用户决定python3
是解释器的默认和推荐名称,如果用户安装了python3,则解释器的某些版本应位于用户路径中。我知道一些POSIX操作系统在默认情况下会有所不同(忘记了哪个),但是…呃,默认情况是根据谁来决定的?无论如何,重点是,作者不应该担心口译员的位置;这由安装程序来决定,这就是Python(一直到distutils
)所支持的。