我在 Windows 上安装了 Python 2.7 和 3.3,在 Linux 上安装了 Python 2.7 和 3.2mu。 我如何使用版本 2.X 或 3.X 编写能够在 Windows 和 Linux 上使用的 Python 脚本?
我可能正在寻找几行代码来检查当前操作系统是什么,并在脚本的其余部分所在的任何目录中使用 Python 3.X。
我的思路是这样的:
if operating_system == Windows:
run rest of script with C:\python_directory3.X\python
elif operating_system == Linux:
run rest of script with /usr/bin/python3.X
是否存在这样的代码,或者我是否必须为两个操作系统制作不同的脚本?
最佳答案
在 UNIX 系统上,Python commands should be named as prescribed in PEP-394 ,所以使用 shebang 是最好的解决方案:
#!/usr/bin/env python2
或
#!/usr/bin/env python3
适当的时候,在你的文件的顶部。
在 Windows 下,它的定义不太明确。从 3.3 版开始,a launcher应包含在 Python 中,如 PEP-397 中所述.但是,这对旧版本没有帮助。
如果您想在 Windows 下确定,许多人使用 py2exe、Cx_Freeze 或其他类似工具来生成包含解释器的可执行文件。在某些情况下,这可能是一个有效的解决方案。
一个好主意是在你的代码中添加一个检查(检查解释器的版本),并给出一个清晰、易于理解的消息,说明他们使用了错误的 Python 版本,也许还有一个关于如何使用的链接解决那个问题。这不会神奇地解决任何问题,但这意味着如果所有其他方法都失败了,用户有机会了解出了什么问题。
关于python - 您如何跨多个操作系统手动告诉 Python 在脚本本身中使用哪个版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16740574/