我该如何确定我正在使用哪个Python解释器?

5

我正在使用Python 2.5.2。如何判断它是CPythonIronPython还是Jython

另一个问题:如何在我的项目中使用VB.NET开发的DLL


1
你应该将这个问题分成两个独立的问题。 - RexE
5个回答

14
import platform    
platform.python_implementation()

以上提供了您使用的解释器类型。


8
如果你从python.org下载了默认的东西,那就是CPython。这是Python的“正常”版本,当你使用“python”命令时,你会得到它,除非你特意寻找针对Java/CIL的项目。
而且它是CPython,因为其他两个项目都没有达到2.5.2版本号。
从CPython中,使用Python-for-.NET(*)和clr.AddReference来使用VB.NET开发的dll。
(*:实际上有点名称不当,因为在CPython控制下,它更像是.NET-for-Python。)

如何使Python-for-.NET与Python2.5.2兼容? - user46646
据我所知,它已经是这样了。从下载中获取“python2.5-UCS2”版本。 - bobince

4
如果您输入“python”来启动它,那么很可能是CPython。IronPython的可执行文件名为“ipy”。

2
import sys
print sys.version

sys.version和platform.python_implementation()回答了两个不同的问题。sys.version基本上只给出Python解释器的版本,而不是它的实现。您可能会在版本行的末尾看到一些GCC信息,但对于不熟练的用户来说,这几乎没有什么意义。而platform.python_implementation()则精确回答了确切的问题。 - Pangur
此外,在交互模式启动后,这些确切的信息将立即出现: $ python Python 2.7.15rc1(默认值,Apr 15 2018,21:51:34) [GCC 7.3.0] on linux2 键入“help”、“copyright”、“credits”或“license”以获取更多信息。 - Pangur

1

既然你的问题的第一部分已经得到了回答,那我来解决第二部分。.NET dll可以通过多种方式从Python中访问。如果你使用IronPython,这会变得特别容易,因为所有.NET语言都可以相对无缝地互操作。在这种情况下,你可以像访问任何其他由IronPython制作的.NET dll一样从IronPython中访问你的dll。如果你想调用本地dll,你可以使用ctypes


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接