1

我通过 Mono 在 Ubuntu 14.04 中构建并运行了最新的 IronPython 版本。构建 Ironpython 并使用 Mono 运行似乎微不足道,但我不相信我有适当的 sys.paths 或 Ironpython 导入模块的权限,尤其是像 fcntl 这样的模块。

运行 ensurepip 运行子进程,并希望导入“fcntl”。那里已经有很多帖子,但主要是关于窗户的。

据我了解, fcntl 是 unix python2.7 标准库的一部分。开始的主要问题似乎是 Ironpython 不知道这是哪里,但我也怀疑由于 fcntl 似乎是 perl 或者至少不是纯 python,所以还有更多的故事。

所以我相关的 sys.path 问题是:

  1. 在 Ubuntu 中,我应该将 Ironpython(Ironlanguages 文件夹)安装到哪里?我需要设置任何权限吗?
  2. 我应该在 sys.path 中添加哪些路径才能找到 Ironpython 的标准库?
  3. 我应该将哪些路径添加到 sys.path 以获取 Ubuntu 的 python 2.7 安装模块?
  4. 我应该将哪些路径添加到 sys.path 或方法以使 fcntl 在 Ironpython 中正确导入
  5. 有关如何解决通过使用 mono ipy.exe X:Frames ensurepip 通过 ensurepip 安装 pip 的已知问题的任何线索

谢谢!

4

1 回答 1

3

据我所知,cPython 的 fcntl 模块是一个内置模块(用 C 实现)——这些模块需要为大多数替代 Python 解释器(如 IronPython)显式实现(与普通 Python 实现的模块相反),因为它们无法本地加载 Python C 扩展。

此外,目前 IronPython 中似乎没有这样的 fcntl 实现。

IronRuby 中有一个 Fcntl.cs,但是,也许这可以用作在 IronPython 中实现它的基础。

于 2015-02-23T12:29:01.790 回答