Python: импортировать _io

Я пытаюсь определить, какие файлы в библиотеке Python строго необходимы для запуска моего скрипта. Сейчас я пытаюсь определить, где находится _io.py. В io.py (без подчеркивания) модуль _io.py (с подчеркиванием) импортируется в строке 60.


person Paul    schedule 15.02.2011    source источник
comment
какая версия питона? Чего именно вы пытаетесь добиться - из вопроса неясно   -  person Eli Bendersky    schedule 15.02.2011
comment
@Eli Bendersky Я пытаюсь сделать портативное приложение и хотел бы найти, какие библиотеки ему нужны. Я использую Python 3.1.   -  person Paul    schedule 15.02.2011


Ответы (4)


Некоторые модули компилируются прямо в интерпретаторе — соответствующих им файлов нет. Вы можете получить список этих модулей по адресу sys.builtin_module_names. В моей установке Python 3.1 _io включен в этот список.

Возможно, вы захотите взглянуть на snakefood, чтобы определить зависимости вашего скрипта.

person Sven Marnach    schedule 15.02.2011

Не все модули Python написаны на Python. Попробуйте найти _io.so или _io.pyd.

person Ignacio Vazquez-Abrams    schedule 15.02.2011
comment
Поиск Windows в каталоге Python файлов, содержащих _io в имени, дал только /Lib/test/test_io.py и /Lib/test/test_ioctl.py. Кстати, я использую Python 3.1. - person Paul; 15.02.2011

Попробуйте папку DLL в вашем базовом каталоге установки Python, если вы используете Windows. Он содержит модули .pyd, которые упоминает Игнасио. У меня была аналогичная проблема с переносной установкой. Включение содержимого папки DLL в мою установку исправило это. Я использую питон 2.5.

person beer_monk    schedule 15.02.2011

Из архива электронной почты python-list: is "_io. py" отсутствует в 2.7.4 ?, ситуация для Python 2 и 3 отличается:

В Питоне 2.7:

Чтобы узнать, где находится модуль _io, в интерактивном интерпретаторе выполните следующее:

import _io

_io.__file__

Под Linux вы должны получить что-то вроде этого:

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

и эквивалент под Windows.

В Питоне 3:

Обратите внимание, что в Python 3.3 модуль _io теперь встроен в компилятор, поэтому модуль _io.__file__ больше не существует.

person YaOzI    schedule 19.09.2017