【问题标题】:Difference between python3 and python3m executablespython3和python3m可执行文件之间的区别
【发布时间】:2013-05-16 13:35:19
【问题描述】:

/usr/bin/python3/usr/bin/python3m 可执行文件有什么区别?

我在 Ubuntu 13.04 上观察它们,但 Google 建议它们也存在于其他发行版上。

两个文件的md5sum相同,但是好像不是符号链接或者硬链接; ls -li 返回的两个文件具有不同的 inode 编号,而测试 find -xdev -samefile /usr/bin/python3.3 不会返回任何其他文件。

有人问了similar question on AskUbuntu,但我想了解更多关于这两个文件之间的区别。

【问题讨论】:

  • 这在链接问题的答案中提到的PEP 中有介绍。
  • 啊,谢谢!在写这个问题之前,我阅读了 PEP 的前几行,但懒得阅读全文......

标签: python python-3.x


【解决方案1】:

感谢 chepner 指出我已经拥有解决方案的链接。

Python 实现可以在文件名中包含额外的标志 适当标记。例如,在 POSIX 系统上,这些标志将 也有助于文件名:

--with-pydebug(标志:d)

--with-pymalloc(标志:m)

--with-wide-unicode (flag: u)

通过PEP 3149.

关于 m 标志,这就是 Pymalloc 的含义:

Pymalloc,由 Vladimir 编写的专用对象分配器 Marangozov,是 Python 2.1 中添加的一项功能。 Pymalloc 旨在 比系统 malloc() 更快并且内存开销更少 用于 Python 程序的典型分配模式。分配器使用 C 的 malloc() 函数获取大内存池然后执行 来自这些池的较小内存请求。

通过What's New in Python 2.3

最后,这两个文件可能在某些系统上是硬链接的。虽然这两个文件在我的 Ubuntu 13.04 系统上具有不同的 inode 编号(因此是不同的文件),但 comp.lang.python post from two years ago 表明它们曾经是硬链接的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-08
    • 2023-03-20
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多