2011-02-01 16 views
6

He encontrado un módulo de terceros que me gustaría usar. ¿Cómo importo técnicamente ese módulo?¿Cómo importo un módulo de terceros en Python?

Particularmente, quiero usar un módulo llamado context_manager. obviamente, no puedo simplemente import garlicsim.general_misc.context_manager porque no encontrará garlicsim. Entonces, ¿qué debo escribir para importar la cosa?

EDIT: Estoy usando Python 3.xy Python 2.x y me gustaría obtener respuestas relevantes para ambas versiones.

+0

¿Está utilizando Python 2 o 3 pitón? Ese enlace es para un paquete python 3. – chmullig

+0

@chmullig: estoy usando Python 2 y Python 3. Acabo de agregar eso a mi pregunta. – snakile

Respuesta

6

En el caso de garlicsim, es posible que desee instalarlo siguiendo el número installation instructions de garlicsim. También puede descargar el código y en el directorio correcto ejecutar python setup.py install para esta y casi cualquier otra biblioteca.

Una nota, ya que puede ser nuevo en python, es que esa es una biblioteca de python 3. Si usa Python 2 (más probable si no lo sabe), no funcionará correctamente. Deberá instalar el pitón 2 version.

1

Necesita instalar el módulo en algún lugar de su PYTHONPATH. Para casi todos los módulos de Python, puede usar easy_install o la secuencia de comandos del paquete setup.py para hacer esto por usted.

0

instalación

GarlicSim is dead pero stillavailable:

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 

Uso pip install garlicsim para instalarlo.

Uso

Según the Python style guide:

importaciones siempre se colocan en la parte superior del archivo, justo después de cualquier módulo comentarios y cadenas de documentación, y antes de variables globales del módulo y constantes.

Las importaciones deben agruparse en el siguiente orden:

  1. importaciones de la biblioteca estándar
  2. importaciones de terceros relacionados
  3. importaciones específicas de aplicación local/biblioteca

Usted debe poner una línea en blanco entre cada grupo de importaciones.

>>> 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. 

Alternativa

Parece que eso es already in Python 3.2:

contextlib.ContextDecorator clase - Una clase base que permite a un gestor de contexto para ser utilizado también como decorador.

Y contextmanager is as old as 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> 
Cuestiones relacionadas