首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何导入站点包的模块,而不是当前目录中同名的模块(python 3.x)?

在Python 3.x中,导入站点包的模块而不是当前目录中同名的模块,可以使用以下方法:

  1. 首先,确保站点包已经安装并正确配置。
  2. 在代码中使用绝对导入语法。绝对导入从顶层模块开始,按照完整的包路径进行导入,而不受当前目录的影响。

例如,假设有以下目录结构:

代码语言:txt
复制
project/
├─ site-packages/
│   ├─ module/
│   │   ├─ __init__.py
│   │   ├─ module.py
├─ current_directory/
│   ├─ module.py

如果你想要导入站点包中的module模块而不是当前目录中的同名模块,可以按照以下方式导入:

代码语言:txt
复制
from module import module

这将会从站点包的根目录开始寻找module模块,而不会受到当前目录的影响。

请注意,绝对导入语法只在Python 3.x中可用,在Python 2.x中需要使用相对导入或修改导入路径来达到类似的效果。

关于站点包的更多信息,请参考腾讯云Python SDK的官方文档:Python SDK

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一文搞懂Python核心概念:导入模块

PART 01 前言 Python作为一个解释器,一个程序,如果不导入任何外部模块,就做不了什么。理解Python如何导入模块将在几乎所有的场景中都很有帮助。...通过了解这一点,下次如果您想部署一个定制不是从pip或condo。你从Github上窃取/抓取东西,想让所有Python程序都能访问它,不管它位于哪里。你知道把包裹放在哪里。...顺便说一下,要获取当前目录路径,请运行: import os print(os.getcwd()) PART 01 导入模块最佳方法是什么 正如Python禅宗所说:“显式比隐式好”。...但是它将导入这个所有模块,在导入datetime情况下。...PART 01 检查导入模块 当你导入一个模块时,你如何知道这个模块内部?当然,您可以查看文档,但如果您很懒,不想启动无聊文档怎么办?Python提供了一种方便方式来实现这一点。

1.2K10
  • python已安装了一个,但是导入模块时报错没有这个

    执行import sys; print(sys.path)查看python搜索路径,确保自己模块python搜索路径 python搜索路径与(package) python搜索路径其实是一个列表...,它是指导入模块时,python会自动去找搜索这个列表当中路径,如果路径存在要导入模块文件则导入成功,否则导入失败: >>> import sys >>> sys.path ['', 'C:\\Python33...\\lib', 'C:\\Python33', 'C:\\Python33\\lib\\site-packages', 'E:\\python'] >>> 当安装第三方模块时候,如果不是按照标准方式安装...,则为了能够引用(import)这些模块,必须将这些模块安装路径添加到sys.path,有以下几种方法: 最简单方法:是在sys.path某个目录下添加路径配置文件,最常见就是在…/site-package.../目录下。

    5.5K10

    Python 模块

    模块定义 全局变量 、函数、类 都是提供给外界直接使用 工具 模块 就好比是 工具,要想使用这个工具工具,就需要先 导入 这个模块 1.2 模块两种导入方式 1)import 导入...,因为函数重名并没有任何提示,出现问题不好排查 1.3 模块搜索顺序[扩展] Python 解释器在 导入模块 时,会有以下操作: 搜索 当前目录 指定模块文件,如果有就直接导入 如果没有...因为这个时候,Python 解释器会 加载当前目录 random.py 不会加载 系统 random 模块 1.4 原则 —— 每一个文件都应该是可以被导入 一个 独立 Python...实际开发场景 在实际开发,每一个模块都是独立开发,大多都有专人负责 开发人员 通常会在 模块下方 增加一些测试代码 仅在模块内使用,导入到其他文件不需要执行 __name__ 属性...python不是这种 概念 是一个 包含多个模块 特殊目录 目录下有一个 特殊文件 __init__.py 命名方式 和变量名一致,小写字母 + _ 好处 使用 import

    98240

    Python学习入门基础 — 第八章 文件读写操作、模块、异常

    4.2 Ptyhon 2.x 如何使用中文 Python 2.x 默认使用 ASCII 编码格式 Python 3.x 默认使用 UTF-8 编码格式 在 Python 2.x 文件 第一行...在模块定义 全局变量 、函数、类 都是提供给外界直接使用 工具 模块 就好比是 工具,要想使用这个工具工具,就需要先 导入 这个模块 1.2 模块两种导入方式 1)import 导入...,因为函数重名并没有任何提示,出现问题不好排查 1.3 模块搜索顺序 Python 解释器在 导入模块 时,会: 搜索 当前目录 指定模块文件,如果有就直接导入 如果没有,再搜索 系统目录...这个时候,Python 解释器会 加载当前目录 random.py 不会加载 系统 random 模块 1.4 原则 —— 每一个文件都应该是可以被导入 一个 独立 Python 文件...实际开发场景 在实际开发,每一个模块都是独立开发,大多都有专人负责 开发人员 通常会在 模块下方 增加一些测试代码 仅在模块内使用,导入到其他文件不需要执行 __name__ 属性 __

    1.3K30

    Python day6 模块

    安装第三方模块是通过包管理工具pip完成(如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了,Mac或Linux上有可能并存Python 3.xPython 2.x,因此对应pip...,非常简单易用模块搜索路径试图import一个模块时,Python会在指定路径下搜索对应.py文件,如果找不到,就会报错:搜索路径存放在sys模块path变量如果要添加新目录,两种方法:直接修改...sys.path,如sys.path.append('/Users/michael/my_py_scripts')第二种方法是设置环境变量PYTHONPATH使用(Package)来组织模块同名函数和变量完全可以分别存在不同模块...,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突,但是也要注意,尽量不要与内置函数名字冲突使用则如下目录存放:init.py文件必须存在,否则,Python就把这个目录当成普通目录不是一个...if __name__=='__main__': test()当我们在命令行运行hello模块文件时,Python解释器把一个特殊变量name置为main,如果在其他地方导入该hello模块时,

    6610

    python基础教程:,对,没错,绝对不是双肩

    这样做目的是为了仿照具有通用名称目录无意中隐藏了在模块搜索路径排在后面的有效模块。比如,你当前目录下有个time目录是放程序资源,它里面没有__init__.py文件就是一个普通目录。...实际写代码实践,import *做法是严格被禁止,它容易造成模块名与当前命名空间名称冲突。...导入PythonPython模块 导入方法和导入模块方法一样: import image 在程序引用colors子模块时: image.process.colors(...)...接下来,看看我们如何导入一个某单个模块: import image.process.colors 这样就加载了子模块image.process.colors,在程序中使用时必须使用它全名,不是简单...我们也可以使用 from module import name形式相对导入。这种导入使用前导点.来指示相对导入涉及的当前和父

    49920

    Python面向对象之模块

    模块就好比一个工具里面的函数和变量就是工具,要想使用模块,先导入模块两种导入方式 方式1:import 导入 导入方式如下: import 模块名1,模块名2 但在pep8建议,每次导入模块应该独占一行...导入同名函数 注意:如果两个模块,存在同名函数,后导入函数,会覆盖先导入函数; 和这个类似的是类继承,但顺序不同,优先使用先继承方法; 开发时import代码应该统一写在代码顶部,更容易及时发现冲突...; 一旦发现冲突,可以使用as关键字给其中一个同名工具起别名; 模块搜索顺序 python解释器在导入模块时,会: 搜索当前目录指定模块文件,如果有则直接导入; 如果没有,再搜索系统目录; 在开发时...__file__ 可以查看模块文件路径**; 如果当前目录下存在一个和系统模块文件重名文件,会优先调用当前目录文件,从而引起错误; 开发原则及导入模块问题 开发原则 开发原则--每一个文件都应该是可以被导入...; 仅在模块内使用,导入到其他文件不需要执行; 导入模块存在问题 当我们导入一个文件时,文件中所有未缩进代码都会被执行一遍,比如print或者调用函数等,而这并不是我们希望看到; 例如,以下是两个文件

    61810

    Python 模块加载顺序

    1.基本概念module:模块, 一个 py 文件或以其他文件形式存在可被导入就是一个模块package:,包含有 init 文件文件夹relative path:相对路径,相对于某个目录路径...只是 Python 解释器启动时就加载到了 sys.modules缓存起来了。所以,即使在同目录下有同名模块,解释器依然是可以找到正确 os 模块!...redis 属于第三方模块,默认安装位置是 Python 环境变量 site-packages,解释器启动之后,会将此目录加到 sys.path,由于当前目录会在 sys.path 首位,当前目录...4.交互式执行环境查找顺序交互执行环境,解释器会自动把当前目录加入到sys.path,这一点和直接执行文件是一样,但是这种方式下,sys.path0 是存储的当前目录相对路径,不是绝对路径。...8.总结Python 通过查找 sys.path 来决定导入Python解释器启动时加载模块缓存 > 同级目录 > sys.path1:。

    10010

    Python模块2】- 模块搜索顺序、内置属性、开发原则

    一、模块搜索顺序1》Python解释器在导入模块时,对模块文件搜索顺序:搜索顺序:搜索当前目录指定模块文件,如果有就直接接导入如果没有,就会到系统目录搜索指定模块文件提醒:在开发时给文件起名...这个时候,Python解释器会加载当前目录random.py,不会加载系统random模块。...:import md_模块print("+" * 30)执行测试导入文件代码结果:可以看出,模块输出代码也被打印出来了,模块可以看作是工具模块向外界提供工具——全局变量、函数、类。...上面模块利用print输出代码并不是提供工具——直接执行代码不是向外界提供工具!遇到一个问题:模块文件被导入时,能够直接执行代码不需要被执行。...三、内置属性__name__实际开发场景:在实际开发,每一个模块都是独立开发,大多都有专人负责,开发人员通常会在模块下方增加一些测试代码(仅在模块内使用,导入到其他文件不需要执行)__name

    71420

    Python学习笔记(五)·模块

    同名函数和变量完全可以分别存在不同模块, (4)因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名字冲突。点这里查看Python所有内置函数。...你也许还想到,如果不同的人编写模块名相同怎么办?为了避免模块名冲突,Python 又引入了按目录来组织模块方法,称为(Package)。...请注意,每一个目录下面都会有一个__init__.py文件,这个文件是必须存在,否则,Python 就把这个目录当成普通目录不是一个。...__init__.py可以是空文件,也可以有 Python 代码,因为__init__.py本身就是一个模块模块名就是mycompany。 类似的,可以有多级目录,组成多级层次结构。...解释器会搜索当前目录、所有已安装内置模块和第三方模块,搜索路径存放在sys模块path变量: >>> import sys >>> sys.path ['', '/Library/Frameworks

    92430

    Python之异常处理、模块

    导入模块会触发以下事件: 第一件事:创建名称空间,用来存放所导入模块定义名字 第二件事:基于刚刚创建名称空间执行所导入模块 第三件事:创建模块名指向该名称空间,模块.名字 进行操作 如何使用模块...使用此种方式导入模块,可以直接使用被导入模块命名空间名字,不用再使用模块名.名字 方式了,但是此时如果有重名会有覆盖效果,原理就是python变量赋值不是一种存储操作,只是一种绑定关系...from...import* 可以将所有不是以下划线开头名字都导入当前位置,但是一般不建议这么做,因为不知道导入了哪些名字,有可能会覆盖掉之前已经定义名字,而且可读性差。...来查看模块名name = 'main' #当做脚本运行 模块搜索路径 加载模块时先看内存是否加载---再找同名内建模块---再找sys.path给出目录列表 需要特别注意是:自定义模块名不要与系统内置模块重名... 是一种通过使用‘.模块名’来组织python模块名称空间方式 本质就是一个包含init.py文件目录 凡是在导入时带点,点左边都必须是一个,但是导入后在使用时就没有这种限制了,点左边可以是

    67210

    matinal:Python内置函数一览表

    Python 解释器启动以后,内置函数也生效了,可以直接拿来使用。 Python 标准库相当于解释器外部扩展,它并不会随着解释器启动启动,要想使用这些外部扩展,必须提前导入。...Python 标准库非常庞大,包含了很多模块,要想使用某个函数,必须提前导入对应模块,否则函数是无效。...Python 解释器一旦启动,所有的内置函数都生效了;导入标准库某个模块,只是该模块函数生效,并不是所有的标准库函数都生效。...在 Python 2.x ,print 是一个关键字;到了 Python 3.x ,print 变成了内置函数。...除了 print() 函数,Python 解释器还提供了更多内置函数,下表列出了 Python 3.x 所有内置函数。

    18420

    Python学习笔记整理(十三)Pyth

    python22"] version = "3.3.1" 常见第三方扩展都是以目录形式发布给用户,不是单纯模块列表。...4、相对导入语法 from语句现在可以使用点号(.)更倾向于同一个模块(称为相对导入),不是位于模块导入搜索路径上其他地方模块(所谓绝对导入) *现在,可以使用点号指出该导入应该与其所在相关联...:这类导入倾向于导入位于该模块不是导入搜索路径sys.path上其他地方同名模块 from .apache CallBack as CB 同一个导入apache模块CallBack为...3)from复制变量名,不是连接 from语句其实是在导入作用域内对变量名赋值语句,也就是变量名拷贝运算,不是变量名别名机制。...点号运算把python定向到了模块对象,不是赋值模块对象。

    1.6K50

    Python __init__.py 作用详解

    __init__.py 文件作用是将文件夹变为一个Python模块,Python 每个模块,都有__init__.py 文件。...这样我们可以在__init__.py文件批量导入我们所需要模块不再需要一个一个导入。..._all__列表模块导入当前文件来。...) (包含多个模块) 内建模块(使用C编写并已链接到Python解释器) 当导入模块时,解释器按照sys.path列表目录顺序来查找导入文件。...将模块a属性直接导入到命名空间中,例如访问a属性时直接用attr_a 使用from语句可以把模块直接导入当前命名空间,from语句并不引用导入对象命名空间,而是将被导入对象直接引入当前命名空间。

    21.5K10

    Python模块介绍和使用1.import2.from…import3.from … import *4.as5.定位模块6.模块制作7.模块__all__8.python9.

    通俗点:模块就好比是工具,要想使用这个工具工具(就好比函数),就需要导入这个模块 1.import 在Python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始地方用...5.定位模块 当你导入一个模块Python解析器对模块位置搜索顺序是: 1.当前目录 2.如果不在当前目录Python则搜索在shell变量PYTHONPATH下每个目录。...变量里包含当前目录,PYTHONPATH和由安装过程决定默认目录。 6.模块制作 1.定义自己模块Python,每个Python文件都可以作为一个模块模块名字就是文件名字。...至此,可发现test.py测试代码,应该是单独执行test.py文件时才应该执行,不应该是其他文件引用执行 为了解决这个问题,python在执行一个文件时有个变量__name__ ?...事实上,你可以一直沿子树状结构导入: ? 在我们上边目录结构,我们可以发现很多__init__.py文件。这些是初始化模块,from-import语句导入时需要用到它。

    98510

    Python各个模块介绍和使用

    2、from...import Pythonfrom语句让你从模块导入一个指定部分到当前命名空间中。...5、定位模块 当你导入一个模块Python解析器对模块位置搜索顺序是: 1、当前目录 2、如果不在当前目录Python则搜索在shell变量PYTHONPATH下每个目录。...变量里包含当前目录,PYTHONPATH和由安装过程决定默认目录。 6、模块制作 1、定义自己模块Python,每个Python文件都可以作为一个模块模块名字就是文件名字。...至此,可发现test.py测试代码,应该是单独执行test.py文件时才应该执行,不应该是其他文件引用执行。 为了解决这个问题,python在执行一个文件时有个变量__name__ ?...事实上,你可以一直沿子树状结构导入: ? 在我们上边目录结构,我们可以发现很多__init__.py文件。这些是初始化模块,from-import语句导入时需要用到它。

    1.5K80

    python模块揭秘

    注意这里重载不是oop重载。...实际上python代码目录就称为,因此导入目录就是导入。事实上,导入是把计算机上目录编程另一个python命名空间,属性则对应与目录中所包含目录模块文件。...import语句后面的模块,这样做好处就是可以增加确定性,否则当你工程过大时候,在不同目录下存在同名文件,那么使用之前模块导入方式就会出现问题。...关于还有一个比较重要地方,可能大家从我上面给例子也发现了这么一个文件__init__.py,这个文件是把一个目录变成一个python关键所在,它里面可以没有任何内容,但是必须得存在!...前面我们说就是绝对导入,直接给出一个绝对路径(其实也是相对路径,看你怎么理解),现在我们不想那么写,就给出一个相对于当前目录路径,这样做就就更加明确了模块位置 from . import reverse

    47910

    要想学习好Python 模块和面向对象编程基础,你就要看这篇文章,巨详细,连隔壁老王都来看。《记得收藏不然看着看着就不见了》

    目录 ?️‍? 前景 有粉丝才学Python,让我给她讲讲,我今天正好有时间就给她讲讲Python 模块和面向对象编程基础。 ? 我今天随便也给大家好好讲讲!!!!!! :?...为了便于管理和后期维护,我们通常把功能都封装在一个个模块,通过调用模块来进行操作,同时,为了区分同名不同内容模块我们一般会把不同 .py 文件放入不同,在 .py 文件如果想要使用这些模块我们需要先引入对应才行...math模块某几个函数,不是所有函数,可以用下面的语句: from math import pow, sin, log 这样,可以直接引用 pow, sin, log 这3个函数,但math其他函数没有导入进来...python 动态导入模块 如果导入模块不存在,Python解释器会报 ImportError 错误: >>> import something Traceback (most recent.../ 3 3.3333333333333335 >>> 10 // 3 3 要在Python 2.7引入3.x除法规则,导入 _future_ division: >>>

    57130
    领券