如何在Python中导入第三方模块?

时间:2011-02-01 22:51:33

标签: python python-3.x import module python-2.x

我找到了一个我想使用的第三方模块。我如何从技术上导入该模块?

特别是,我想使用名为context_manager的模块。显然,我不能只import garlicsim.general_misc.context_manager,因为它找不到garlicsim。那么我应该写什么来导入东西?

编辑:我正在使用Python 3.x和Python 2.x,我希望得到与这两个版本相关的答案。

3 个答案:

答案 0 :(得分:6)

在garlicsim的情况下,你想按照garlicsim的installation instructions安装它。您也可以下载代码,并在正确的目录中运行python setup.py install以获取此代码和几乎任何其他库。

一个注意事项,因为你可能是python的新手,那就是python 3库。如果您正在使用python 2(如果您不知道更可能),它将无法正常工作。您将要安装python 2 version

答案 1 :(得分:1)

您需要在PYTHONPATH中的某个位置安装模块。对于几乎所有的python模块,您可以使用easy_install或程序包自己的setup.py脚本为您执行此操作。

答案 2 :(得分:0)

安装

GarlicSim is deadstill available

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进行安装。

用法

根据the Python style guide

  

导入总是放在文件的顶部,就在任何模块之后   注释和文档字符串,以及模块全局和常量之前。

     

进口应按以下顺序分组:

     
      
  1. 标准库导入
  2.   
  3. 相关的第三方导入
  4.   
  5. 本地应用程序/库特定导入
  6.         

    您应该在每组导入之间添加一个空行。

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

替代

看起来像already in Python 3.2

  

class contextlib.ContextDecorator - 启用上下文的基类   经理也被用作装饰师。

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>