如何让Python代码编写一次,在任何地方运行?
我正在学习Python。我的意图是:如何让Python代码编写一次,在任何地方运行?,python,ironpython,jython,Python,Ironpython,Jython,我正在学习Python。我的意图是: 用Python/Django编写Web应用程序 创建android应用程序(使用Jython) 为unix box编写一些python脚本 我有一种(不正确的)印象,因为Python是用Java(Jython)和.NET(IronPython)实现的,所以我可以简单地编写Python代码并通过解释器/编译器运行它 我想如果我用CPython编写一个helloworld并用Jython编译它,我会得到Java字节码。如果我将它与IronPython相结合,我会
谢谢请更具体地说明您要做什么。您的常规Python代码是什么?有什么不符合您的预期
根据,Jython是Python语言的一个实现。相同的Python代码应该在Jython或CPython上产生相同的结果。请更具体地说明您正在尝试做什么。您的常规Python代码是什么?有什么不符合您的预期
print 'Hello, World!'
根据,Jython是Python语言的一个实现。相同的Python代码应该在Jython或CPython上产生相同的结果
print 'Hello, World!'
这在任何名副其实的Python实现上都非常有效。大多数其他纯Python代码也是如此。在使用库时会变得棘手,因为Jython和IronPython缺少一些标准库模块,并且不支持C扩展。处理特定于平台的代码也会出现一些问题
如果希望代码是可移植的,则需要从共享代码中删除尽可能多的依赖项。标准库通常是可以的(但两者都不完整),如果纯Python外部模块仅依赖于其他纯Python模块,则它们通常是可以的
如果您确实需要检测它们,我相信规范检查是:
if os.name == 'java': # Jython
if sys.platform == 'cli': # IronPython
Jython和IronPython都不会生成在Jython/IronPython不存在的情况下运行的程序。原则上这是可能的,甚至可以将Python的一个子集编译成纯字节码;前者需要在Python引擎中进行链接,后者需要限制可以使用Python的哪些部分 如果有人为IronPython提供这个,我不会拒绝,我怀疑Jython团队也会拒绝,但我不会屏息以待。无论哪种选择都需要大量的工作 这在任何名副其实的Python实现上都非常有效。大多数其他纯Python代码也是如此。在使用库时会变得棘手,因为Jython和IronPython缺少一些标准库模块,并且不支持C扩展。处理特定于平台的代码也会出现一些问题 如果希望代码是可移植的,则需要从共享代码中删除尽可能多的依赖项。标准库通常是可以的(但两者都不完整),如果纯Python外部模块仅依赖于其他纯Python模块,则它们通常是可以的 如果您确实需要检测它们,我相信规范检查是:
if os.name == 'java': # Jython
if sys.platform == 'cli': # IronPython
Jython和IronPython都不会生成在Jython/IronPython不存在的情况下运行的程序。原则上这是可能的,甚至可以将Python的一个子集编译成纯字节码;前者需要在Python引擎中进行链接,后者需要限制可以使用Python的哪些部分
如果有人为IronPython提供这个,我不会拒绝,我怀疑Jython团队也会拒绝,但我不会屏息以待。任何一个选项都需要大量工作。为什么点1、2、3缺少换行符?这样网站就不会把键算作换行符了吗?在习惯使用之前,降价可能会有点挑剔。添加更多的空白几乎总是让它更快乐。:)Jython和IronPython是Python实现。它们不导出Java或CLI字节码,而是实现Python语言。现在,我可以编译它并生成一些.class文件。这些.class文件可以部署在JVM上。JVM可以在UNIX、Windows和移动设备上运行。我不需要担心。类似地,我认为如果我编写Python代码并使用Jython编译器(而不是CPython解释器)编译它。我将获取.class文件。这些.class文件可以部署在任何设备上运行的任何JVM上。事实证明,.py文件不可能在没有一些特定于Java的修改的情况下在Jython中编译:(为什么第1、2、3点缺少换行符?这样站点就不会将键算作换行符了吗?在您习惯使用它之前,标记可能有点挑剔。添加更多的空格几乎总是让它更快乐。:)Jython和IronPython是Python实现。它们不导出Java或CLI字节码,而是实现Python语言。现在,我可以编译它并生成一些.class文件。这些.class文件可以部署在JVM上。JVM可以在UNIX、Windows和移动设备上运行。我不需要担心。类似地,我认为如果我编写Python代码并使用Jython编译器(而不是CPython解释器)编译它。我将获取.class文件。这些.class文件可以部署在任何设备上运行的任何JVM上。事实证明,.py文件不可能在没有一些特定于Java的修改的情况下在Jython中编译:(完全正确。但情况并非如此。让我解释一下:比方说,我使用标准库编写了一些Java代码。现在,我可以编译这些代码并生成一些.class文件。这些.class文件可以部署在JVM上。JVM可以运行