发布于 2020-11-13 22:52:03
既然您提到您将在GitHub上发布软件,那么您使用什么并不重要。其实你根本就不需要把它放进去。
当您发布一个供他人使用的包时,安装程序(pip)将在其他人安装您的包时重写您的套头。这是因为它的内容或存在在某种程度上依赖于平台。在Windows上,它根本不会放一个shebang,而在linux/macOS上,它会将shebang硬编码到用于执行安装的Python可执行文件中。
例如,请参见stdlib distutils中的shebang重写以及setuptools (setuptools是distutils上的monkeypatch,这是pip现在实际使用的)。
您可以自己尝试一下,您可以将#!potato放入源代码中,然后将包安装在虚拟环境中,土豆就会消失,它将被重写到like的可执行文件中,比如#!/path/to/venv/bin/python。
https://stackoverflow.com/questions/64828983
复制相似问题