Python:导入_io模块

3

我正试图确定我的脚本运行所需的Python库中哪些文件是绝对必要的。现在我正在尝试确定_io.py位于哪里。在io.py(没有下划线)中,第60行导入了带下划线的_io.py模块。


1
哪个版本的Python?从问题中不清楚你想要实现什么。 - Eli Bendersky
@Eli Bendersky 我正在尝试制作一个便携式应用程序,并希望找到它所需的库。我正在运行Python 3.1。 - Paul
4个回答

6

一些模块直接编译到解释器中,没有相应的文件。您可以从 sys.builtin_module_names 中检索这些模块的列表。在我的Python 3.1安装中,_io 包含在此列表中。

您可能想要查看 snakefood 来确定您的脚本的依赖关系。


1
并非所有的Python模块都是用Python编写的。尝试查找_io.so_io.pyd

在Python目录中进行Windows搜索,查找文件名中包含“_io”的文件,只返回了/Lib/test/test_io.py/Lib/test/test_ioctl.py。顺便说一句,我正在使用Python 3.1版本。 - Paul

1

来自python-list邮件档案:"2.7.4"中是否缺少"_io.py"?,Python 2和3的情况不同:

在Python 2.7中:

要找到_io模块所在的位置,在交互式解释器中运行以下命令:

import _io

_io.__file__

在Linux下,您应该会得到类似于这样的结果:

'/usr/local/lib/python2.7/lib-dynload/_io.so'

在Windows下也是如此。

在Python 3中:

请注意,在Python 3.3中,_io模块现在已经内置到编译器中,因此_io.__file__不再存在。


0
如果你使用的是Windows系统,可以在Python安装目录下找到DLLs文件夹。该文件夹包含Ignacio提到的.pyd模块。我曾经在便携式安装中遇到过类似的问题。将DLLs文件夹内容包含在我的安装中解决了这个问题。我正在使用Python 2.5版本。

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