解决python开发中模块冲突的具体方法?

作者&投稿:正详 (若有异议请与网页底部的电邮联系)
解决python中模块名冲突方法?~

假如有两个同名的模块,那么你只能导人它们中的一个——默认情况下,Python总是会选择在模块搜索路径sys.path中最左边的那一项。如果你偏爱的模块和顶层脚本在同一目录下,那就不成问题;由于顶层脚本的主目录总是模块搜索路径中的第一项,因此它的内容总是会首先被自动定位。然而对于跨目录的导入,模块搜索路径的线性本质意味着同名的文件会产生冲突。
要修复这一冲突,要么避免同名文件。如果你需要同时访问两个同名的文件,那么就要把两个源文件分别放入子目录中,这样包导入目录名称将使得模块引用唯一。只要外围的包目录名称是唯一的,你就能访问同名模块中的任意一个,或是全部的两个。注意,如果你不小心为自己的模块使用了一个名称,而它碰巧和你需要使用的标准库模块的名称相同,那么也会出现这一问题。这是因为程序主目录(或是模块路径中靠前的另一个目录)下的本地模块会隐藏和替换标准库模块。要修复这种覆盖,要么避免使用和你需要的另一模块相同的名称,要么把模块放到一个包目录下然后使用Python 3.X的包相对导入模型(包相对导入在2.X版本中是一个可选的功能)。在包相对导入模型下,普通导入会跳过包目录,因此你可以获取标准库版本,但在必要时特殊的点号开头导入语句仍然可以选取同名模块的本地版本。

假如有两个同名的模块,那么你只能导人它们中的一个——默认情况下,Python总是会选择在模块搜索路径sys.path中最左边的那一项。如果你偏爱的模块和顶层脚本在同一目录下,那就不成问题;由于顶层脚本的主目录总是模块搜索路径中的第一项,因此它的内容总是会首先被自动定位。然而对于跨目录的导入,模块搜索路径的线性本质意味着同名的文件会产生冲突。
要修复这一冲突,要么避免同名文件。如果你需要同时访问两个同名的文件,那么就要把两个源文件分别放入子目录中,这样包导入目录名称将使得模块引用唯一。只要外围的包目录名称是唯一的,你就能访问同名模块中的任意一个,或是全部的两个。注意,如果你不小心为自己的模块使用了一个名称,而它碰巧和你需要使用的标准库模块的名称相同,那么也会出现这一问题。这是因为程序主目录(或是模块路径中靠前的另一个目录)下的本地模块会隐藏和替换标准库模块。要修复这种覆盖,要么避免使用和你需要的另一模块相同的名称,要么把模块放到一个包目录下然后使用Python 3.X的包相对导入模型(包相对导入在2.X版本中是一个可选的功能)。在包相对导入模型下,普通导入会跳过包目录,因此你可以获取标准库版本,但在必要时特殊的点号开头导入语句仍然可以选取同名模块的本地版本。

假如有两个同名的模块,那么只能导入它们中的一个——默认情况下,Python总是会选择在模块搜索路径sys.path中最左边的那一项。如果你偏爱的模块和顶层脚本在同一目录下,那就不成问题;由于顶层脚本的主目录总是模块搜索路径中的第一项,因此它的内容总是会首先被自动定位。然而对于跨目录的导入,模块搜索路径的线性本质意味着同名的文件会产生冲突。
要修复这一冲突,要么避免同名文件。如果你需要同时访问两个同名的文件,那么就要把两个源文件分别放入子目录中,这样包导入目录名称将使得模块引用唯一。只要外围的包目录名称是唯一的,你就能访问同名模块中的任意一个,或是全部的两个。注意,如果你不小心为自己的模块使用了一个名称,而它碰巧和你需要使用的标准库模块的名称相同,那么也会出现这一问题。这是因为程序主目录(或是模块路径中靠前的另一个目录)下的本地模块会隐藏和替换标准库模块。要修复这种覆盖,要么避免使用和你需要的另一模块相同的名称,要么把模块放到一个包目录下然后使用Python 3.X的包相对导入模型(包相对导入在2.X版本中是一个可选的功能)。在包相对导入模型下,普通导入会跳过包目录,因此你可以获取标准库版本,但在必要时特殊的点号开头导入语句仍然可以选取同名模块的本地版本。

只要手动卸载掉apt-get里对应的过时的软件包即可。


python的应用范围有哪些?
4. 云计算开发 Python是从事云计算工作需要掌握的一门编程语言,目前很火的云计算框架OpenStack就是由Python开发的,如果想要深入学习并进行二次开发,就需要具备Python的技能。5. 人工智能 MASA和Google早期大量使用Python,为Python积累了丰富的科学运算库,当AI时代来临后,Python从众多编程语言中脱颖而出...

python语言特点
Python编程语言的特点是首简单易学,免费开源。首先,简单易学:Python是一种代表简单主义的语言,阅读一个良好的Python程序,即便是在Python语法要求非常严格的大环境下,给人的感觉也是不同。Python最大优点之一,具有伪代码的特质,可以让我们在Python开发程序时,专注于解决问题。其次,免费开源:python是...

python学到什么程度可以就业
Python可以从事的岗位有很多,就业岗位不同,需要具备的技能不同,具体要求如下:阶段一:Python开发基础 Python全栈开发与人工智能之Python开发基础知识学习内容包括:Python基础语法、数据类型、字符编码、文件操作、函数、装饰器、迭代器、内置方法、常用模块等。阶段二:Python高级编程和数据库开发 Python全栈...

python编程环境有哪些
python需要具备以下编程环境:1.保存和重载代码文件。如果一款集成开发环境或者编辑器不允许你保存现有工作,并在之后重新打开时不能保持你离开时的相同状态,那么它就不是什么集成开发环境。2.语法高亮。支持对代码中的关键词、变量和符号快速标识可以让阅读和理解代码更为轻松。3.在环境内运行代码。类似的...

为什么软件公司很少用python开发web?
Python用于开发web有以下缺点:1、经验较少的开发人员 当公司创建一个应用程序时,一般希望最有经验的开发人员来完成这项工作。但是,使用Python并不是那么简单,因为使用这种语言的专家并不多,特别是将它与Java进行比较时。2、缺乏真正的多处理器支持(伪线程)多重处理是编写应用程序的重要部分。Python...

学Python有前途么?
其次,市场需求大。从最新Python招聘岗位需求来看,Python工程师的岗位需求量巨大,并且岗位需求量还在呈现上涨的趋势。全国Python岗位需求量接近10W个。最后,薪资水平。目前初级Python工程师薪资待遇就达10-15K,而随着开发年限的增加,Python开发者薪资呈直线上升的变化趋势,工作8年的Python薪资攀升至25K左右...

python的特点
python的特点有简单易学、高级语言、解释型语言、可移植性、面向对象、强大的功能等。1、简单易学 Python是代表简单主义思想的编程语言,读的是好的Python程序,就像读英语一样,Python最大的优势是伪代码的本质,开发时主要以解决问题为主,而不是理解语言本身。2、高级语言 Python是一种高级语言,因此在...

学习Python需要多长时间?
一周或者一个月。如果完全靠自己自学,又是从零基础开始学习Python的情况下,按照每个人的学习和理解能力的不同,我认为大致上需要半年到一年半左右的时间。当然了,Python学习起来还是比较简单的,如果有其他编程语言经验,入门Python还是非常快的,花1-2个月左右的时间学完基础,就可以自己编写一些小的...

学习python,用什么软件?
Python开发软件可根据其用途不同分为两种,一种是Python代码编辑器,一种是Python集成开发工具,两者的配合使用可以极大的提高Python开发人员的编程效率,以下是常用的几款Python代码编辑器和Python集成开发工具。一、Python代码编辑器 1. Sublime Text Sublime Text是一款非常流行的代码编辑器,支持Python代码...

怎么用Python解决这个问题?(图片如下)
题目所求应该是统计输入文本中所有大写字母的个数,然后按给定格式输出 可先利用字典记录所有大写字母的个数,并统计最多个数 然后对每个大写字母生成对应的字符串 最后按照字符串列表逐行输出即可 Python代码如下:输入文本:THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.THIS IS AN EXAMPLE TO TEST ...

贺州市15242382718: python 包内模块和内建模块命名冲突,怎样在包中的模块中导入内建模块? -
苍梧些百乐: 调整 sys.path 的顺序,让系统路径在前

贺州市15242382718: Python双版本的pip冲突问题怎么解决 -
苍梧些百乐: 有两条方法可以很好的解决.1:pip2 install xx (对应Python2) pip3 install xx (对应Python3)2:py -2 -m pip install xx (对应Python2) py -3 -m pip install xx (对应Python3)

贺州市15242382718: 大家都用什么开发工具写python -
苍梧些百乐: 前提:用来做数据处理和相关的系统开发 刚学python时,面对简陋的官方版idle和一大堆开发平台和发行版,不知道究竟如何下手.在进行多方尝试后,我最后的选择是Anaconda + Pycharm,用anaconda集成的ipython做工作台,做一些分析和...

贺州市15242382718: 开发python用什么软件 -
苍梧些百乐: Python开发软件可根据其用途不同分为两种,一种是Python代码编辑器,一种是Python集成开发工具,两者的配合使用可以极大的提高Python开发人员的编程效率,以下是常用的几款Python代码编辑器和Python集成开发工具.一、Python代码编...

贺州市15242382718: python中类属性和实例属性名字冲突怎么办 -
苍梧些百乐: 1.Python是一门动态语言,任何实体都可以动态地添加或删除属性.2.一个类定义了一个作用域.3.类实例也引入了一个作用域,这与相应类定义的作用域不同.4.在类实例中查找属性的时候,首先在实例自己的作用域中查找,如果没有找到,则再在类定义的作用域中查找.5.在对类实例属性进行赋值的时候,实际上会在类实例定义的作用域中添加一个属性(如果还不存在的话),并不会影响到相应类中定义的同名属性.

贺州市15242382718: 开发Python用哪些工具好 -
苍梧些百乐: 刚学python时,面对简陋的官方版idle和一大堆开发平台和发行版,不知道究竟如何下手.在进行多方尝试后,我最后的选择是Anaconda + Pycharm,用anaconda集成的ipython做工作台,做一些分析和小段程序调试的工作,用Pycharm写相应...

贺州市15242382718: python 集成开发环境哪个好 -
苍梧些百乐: 用起来感觉还不错的是下边仨.1、eclipse,这是一个相当不错的集成开发环境,加上pydev插件就可以使用.2、pycharm,这也是一个不错的python继承开发环境.谁用谁知道.3、python子代的IDLE,还是有一定的可用性的.下边的这个不算继承开发环境,但可以起到辅助记忆命令的作用----ipython.

贺州市15242382718: 10个错误和解决方法,你中招了吗 -
苍梧些百乐: Python程序员最常犯的10个错误,你中招了吗?关于本文 刚接触这门语言的新手可能会对Python简洁灵活的语法有些不适应,或是低估了Python强大的性能.鉴于此,本文列出了Python开发人员常犯的10个小错误,资深程序猿也难免会中招哦...

贺州市15242382718: python中各模块变量共享的问题. -
苍梧些百乐: 做一个类似配置文件的常量文件,把要全局共享的内容,作为变量声明并赋值,各模块import进来

贺州市15242382718: python init和new的区别 -
苍梧些百乐: 类里面的__init__()方法是在类被实例化是自动调用的方法,可以在里面进行一些初始化操作

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网