怎么往python按module

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么往python按module相关的知识,希望对你有一定的参考价值。

1,导入库,用一个语句就可以了,那就是import 比方,我们导入lxml库,那首先要下载安装这个库! pip install lxml 就可以完成安装 2、导入 import xlml 就这个语句就可以完成导入 当然也可以导入我们自己编写的库 方法与导入第三方库一致 参考技术A pip install some_module 或者easy_install some_module

如何按名称导入自定义python包

【中文标题】如何按名称导入自定义python包【英文标题】:How to import custom python package by name 【发布时间】:2012-09-10 15:19:26 【问题描述】:

我创建了一个名为“custom_module”的文件夹,并且该文件夹中有 __init__.py,其中包含:

__all__ = [
        'Submodule1',
        'Submodule2'
]

根据我阅读的文档,我应该能够调用import custom_module 并访问该包,但是这并没有发生。如何让 python 识别我的包?我正在使用 python 3.2

更新: 该包不在 python 文件夹中。 python环境是怎么找到的,所以我可以通过名字成功导入。

【问题讨论】:

custom_module 在您的PYTHONPATH 中可用吗? @mgilson 嗯,不,请解释一下。 【参考方案1】:

您混淆了两个不同的概念:模块

模块就是你所想的那样:一个包含类、变量等的 Python 脚本。您可以通过文件名导入它,然后可以访问其命名空间中的变量。

是模块的集合,它们在文件夹中组合在一起。如果文件夹包含一个名为__init__.py 的文件,Python 将允许您导入整个文件夹,就好像它是一个模块一样。这将运行__init__ 中的代码,但不一定会导入文件夹中的所有模块。 (这是一个深思熟虑的设计选择:包通常非常大,导入所有模块可能需要很长时间。)

默认情况下,唯一导出(如package.thing)的是在__init__ 中定义的变量。如果您希望 submodule 可以作为 package.submodule 使用,则需要将其导入到 __init__ 中。

__all__ 是一个相关的概念。简而言之,它定义了当您执行 from package import * 时导入的内容,因为 Python 不容易弄清楚应该是什么。你一般不需要它。

【讨论】:

我明白这一切(对不起,它是一个包而不是一个模块)。但是如何让 python 找到我的包,因为当我说 import custom_module 时没有任何反应。我的包不在 python 文件夹中。【参考方案2】:

sys.path 保存 Python 搜索路径。在尝试 import 您的模块和包之前,请将其设置为包含您的路径:

import sys
sys.path.insert(0, 'your_path_here')
import custom_module

Python docs 和此question 中的更多详细信息

【讨论】:

在这种情况下,如果我为我的包创建一个安装程序包,我应该在 python 目录中提取它,或者我可以让安装程序使用用户选择的目录修改 sys.path? sys.path 修改仅对您当前运行的脚本有效。如果你想将你的包永久安装到给定的 Python 安装中,我建议阅读Official docs about the standard installation procedure。通常,安装程序会在您的包中调用 setup.py 并将您的代码放入标准位置。您可能希望遵循标准,以便您的模块可以在pypi.python.org 上发布。 Pypi docs 一般来说,您应该将包安装到标准的地方,而不是告诉 Python 查找非标准的地方。

以上是关于怎么往python按module的主要内容,如果未能解决你的问题,请参考以下文章

vue按钮调用python函数

cmd怎么往python中传参数

cmd怎么往python中传参数

python怎么往mysql数据库添加数据

VBS怎么往CSV文件中写数据

苹果怎么连电脑传文件