Как импортировать сторонний модуль в Python? - PullRequest
6 голосов
/ 02 февраля 2011

Я нашел сторонний модуль, который хотел бы использовать.Как мне технически импортировать этот модуль?

В частности, я хочу использовать модуль с именем context_manager .очевидно, я не могу просто import garlicsim.general_misc.context_manager, потому что он не найдет garlicsim.Так что я должен написать, чтобы импортировать вещь?

РЕДАКТИРОВАТЬ: Я использую и Python 3.x и Python 2.x, и я хотел бы получить ответы, относящиеся к обеим версиям.

Ответы [ 3 ]

6 голосов
/ 02 февраля 2011

В случае с garlicsim вы хотите установить его, следуя инструкциям по установке garlicsim . Вы также можете скачать код и в нужном каталоге запустить python setup.py install для этой и почти любой другой библиотеки.

Одно замечание, поскольку вы можете быть новичком в python, это то, что это библиотека python 3. Если вы используете Python 2 (скорее всего, если вы не знаете), он не будет работать правильно. Вы захотите установить Python 2 версия .

1 голос
/ 02 февраля 2011

Вам необходимо установить модуль где-нибудь в вашей PYTHONPATH.Почти для всех модулей Python вы можете использовать easy_install или собственный скрипт setup.py пакета, чтобы сделать это для вас.

0 голосов
/ 01 июля 2015

Установка

GarlicSim мертв , но все еще доступно :

C:\Python27\Scripts>pip search garlicsim
garlicsim_lib             - Collection of GarlicSim simulation packages
garlicsim_lib_py3         - Collection of GarlicSim simulation packages
garlicsim_wx              - GUI for garlicsim, a Pythonic framework for
                            computer simulations
garlicsim                 - Pythonic framework for working with simulations
garlicsim_py3             - Pythonic framework for working with simulations

Используйте pip install garlicsim для установкиit.

Использование

Согласно Руководство по стилю Python :

Импорт всегда помещается в начало файла, сразу послелюбые комментарии к модулю и строки документов, а также перед глобальными переменными и константами модуля.

Импорт должен быть сгруппирован в следующем порядке:

  1. импорт стандартной библиотеки
  2. импорт сторонних производителей
  3. импорт локальных приложений / библиотек

Между каждой группой импорта следует ставить пустую строку.

>>> import garlicsim.general_misc.context_manager as CM
>>> help(CM)
Help on module garlicsim.general_misc.context_manager in garlicsim.general_misc:

NAME
    garlicsim.general_misc.context_manager - Defines the `ContextManager` and `ContextManagerType` classes.

FILE
    c:\python27\lib\site-packages\garlicsim\general_misc\context_manager.py

DESCRIPTION
    Using these classes to define context managers allows using such context
    managers as decorators (in addition to their normal use) and supports writing
    context managers in a new form called `manage_context`. (As well as the
    original forms).
[...]
>>> from garlicsim.general_misc.context_manager import ContextManager
>>> help(ContextManager)
Help on class ContextManager in module garlicsim.general_misc.context_manager:

class ContextManager(__builtin__.object)
 |  Allows running preparation code before a given suite and cleanup after.

Альтернатива

Похоже, что это уже в Python 3.2 :

class contextlib.ContextDecorator - Базовый класс, который позволяет также использовать менеджер контекста в качестве декоратора.

И contextmanager столь же стар, как Python 2.5 :

from contextlib import contextmanager

@contextmanager
def tag(name):
    print "<%s>" % name
    yield
    print "</%s>" % name

>>> with tag("h1"):
...    print "foo"
...
<h1>
foo
</h1>
...