gpt4 book ai didi

Python部署和/usr/bin/env可移植性

转载 作者:太空狗 更新时间:2023-10-29 17:31:22 25 4
gpt4 key购买 nike

在所有可执行 Python 脚本的开头,我都放置了 shebang行:

#!/usr/bin/env python

我在 env python 生成 Python 2.2 环境的系统上运行这些脚本。我的脚本很快就会失败,因为我手动检查了兼容的 Python 版本:

if sys.version_info < (2, 4):
raise ImportError("Cannot run with Python version < 2.4")

如果可能的话,我不想更改每个可执行文件的 shebang 行;但是,我没有机器的管理权限来更改 env python 的结果,而且我不想强制使用特定版本,如:

#!/usr/bin/env python2.4

我想避免这种情况,因为系统可能有比 Python 2.4 更新的版本,或者可能有 Python 2.5 但没有 Python 2.4。

优雅的解决方案是什么?

[编辑:] 我提出的问题不够具体——我想让用户在没有手动配置的情况下执行脚本(例如 ~/bin 中的路径更改或符号链接(symbolic link)和确保您的 PATH 在 Python 2.2 路径之前有 ~/bin)。也许需要一些分发实用程序来防止手动调整?

最佳答案

“env”只是执行它在 PATH 环境变量中找到的第一件事。要切换到不同的 python,请在调用脚本之前将该 python 的可执行文件的目录添加到路径中。

关于Python部署和/usr/bin/env可移植性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com