Несколько вопросов о функции «импорт» Python

Я только что скачал Beautiful Soup и решил сделать небольшую библиотеку (так они называются в Python?), которая будет возвращать результаты поиска фильма и поиска фильмов на IMDB.

Мой вопрос в том, как именно работает этот импорт?

Например, я скачал BeautifulSoup, и все это — файл .py. Должен ли этот файл находиться в той же папке, что и мое приложение python (мой проект, который будет использовать библиотеку)?


person Sergio Tapia    schedule 19.01.2010    source источник
comment
Какую ОС вы используете? Стандартный способ установки любого модуля (например, BeautifulSoup) зависит от ОС.   -  person unutbu    schedule 19.01.2010
comment
Убунту, как ни странно. :) (ваш логин)   -  person Sergio Tapia    schedule 19.01.2010
comment
это то, как они называют их в Python? Вероятно, вам следует получить учебник по Python и сначала выполнить его.   -  person S.Lott    schedule 19.01.2010


Ответы (6)


Для Ubuntu вы можете искать пакеты с помощью команды

apt-cache search beautifulsoup

Это должно дать

python-beautifulsoup - error-tolerant HTML parser for Python

Таким образом, самый простой способ установить BeautifulSoup для Ubuntu — запустить

sudo apt-get install python-beautifulsoup

Как только вы это сделаете, вы можете поставить

import BeautifulSoup 

в любом из ваших скриптов, и ваша установка python найдет модуль.

person unutbu    schedule 19.01.2010

BeautifulSoup.py нужно будет разместить где-нибудь на пути поиска Python, который доступен вам в массиве sys.path. Обратите внимание, что текущий каталог всегда включается в этот массив (как пустая строка).

>>> import sys
>>> sys.path
['', 'C:\\Windows\\system32\\python26.zip', 'c:\\python26\\DLLs', 'c:\\python26\\lib', 'c:\\python26\\lib\\plat-win', 'c
:\\python26\\lib\\lib-tk', 'c:\\python26', 'c:\\python26\\lib\\site-packages', 'c:\\python26\\lib\\site-packages\\win32'
, 'c:\\python26\\lib\\site-packages\\win32\\lib', 'c:\\python26\\lib\\site-packages\\Pythonwin']
person Triptych    schedule 19.01.2010
comment
Я только что поместил файл .py в свою папку usr/Sergio/home, и теперь он найден. Однако что произойдет, если я захочу развернуть приложение, использующее эту библиотеку? - person Sergio Tapia; 19.01.2010

См. путь поиска модуля. В вашем случае будет работать размещение файла .py в той же папке.

person ezod    schedule 19.01.2010

модули Python – это объекты верхнего уровня в программах Python, которые можно импортировать (аналогично файлам C). Существует путь загрузки, который содержит список каталогов для поиска модулей при их импорте. Я рекомендую вам просмотреть раздел модулей официального руководства для получения подробной информации ( а также через весь учебник).

person Noufal Ibrahim    schedule 19.01.2010

Ознакомьтесь с документацией по пакетам. Когда вы импортируете пакет, python выполняет поиск в пределах sys.path, поэтому вы должны поместить Beautiful Soup в путь или добавить к пути новый каталог.

Пример:

import sys
print "Before:\n", sys.path
sys.path.append('/some/directory')
print "After:\n", sys.path
person Dana the Sane    schedule 19.01.2010
comment
Как добавить новый каталог к ​​пути? Не могли бы вы привести пример? - person eozzy; 19.01.2010

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

person Attila O.    schedule 19.01.2010