前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python在import时遇到的惨案

Python在import时遇到的惨案

作者头像
用户9127725
发布于 2022-08-08 00:27:35
发布于 2022-08-08 00:27:35
49700
代码可运行
举报
运行总次数:0
代码可运行

    最近使用基于python语言的django框架开发web相关的应用,但是在访问页面的时候会不定时的报错,import导入报错

 经过近1个月的观察发现有这么几个特性:不知道什么时候会触发,但是一旦触发,就一直存在这个问题只要重启web服务或者调试 问题马上就能解决。    咋一看:难道是django框架不稳定?    不要轻易怀疑框架的问题,绝大多数情况下是自己的问题。

 查看一下 __import__的描述:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
__import__(name[, globals[, locals[, fromlist[, level]]]])

Note

This is an advanced function that is not needed in everyday Python programming.

This function is invoked by the import statement. It can be replaced (by importing the __builtin__ module and assigning to__builtin__.__import__) in order to change semantics of the import statement, but nowadays it is usually simpler to use import hooks (see PEP 302). Direct use of __import__() is rare, except in cases where you want to import a module whose name is only known at runtime.

The function imports the module name, potentially using the given globals and locals to determine how to interpret the name in a package context. The fromlist gives the names of objects or submodules that should be imported from the module given by name. The standard implementation does not use its locals argument at all, and uses its globals only to determine the package context of the importstatement.

level specifies whether to use absolute or relative imports. The default is -1 which indicates both absolute and relative imports will be attempted. 0 means only perform absolute imports. Positive values for level indicate the number of parent directories to search relative to the directory of the module calling __import__().

When the name variable is of the form package.module, normally, the top-level package (the name up till the first dot) is returned, not the module named by name. However, when a non-empty fromlist argument is given, the module named by name is returned.

For example, the statement import spam results in bytecode resembling the following code:

spam = __import__('spam', globals(), locals(), [], -1)
The statement import spam.ham results in this call:

spam = __import__('spam.ham', globals(), locals(), [], -1)
Note how __import__() returns the toplevel module here because this is the object that is bound to a name by the import statement.

    从上面的doc我们可以学到:     涉及的2个最重要的点:     这有个非常关键的参数 globals 默认为 globals()内置函数返回的全局的对象。     sys.modules 保存在 global()返回的sys对象中。     对sys.modules有如下的特性:     当导入新的模块,它们加入到 sys.modules 中。这就解释了为什么第二次导入相同的模块时非常的快:Python 已经在 sys.modules 中装入和缓冲了,所以第二次导入仅仅对字典做了一个查询。 一旦给出任何以前导入过的模块名(以字符串方式),通过 sys.modules 字典,你可以得到对模块本身的一个引用。     所以,使用python动态import的时候,千万要小心不要使用相同的模块名字,最好也不要使用相同的类名。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012-02-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
GETV**配置
由于KS不能够加解密,所以当GM身后网络对KS身后网络访问时候,触发感兴趣流,从而被加密,但是KS无法解密,所以流量会被KS drop掉,导致不同的现象
刘銮奕
2019/07/22
1.6K0
GETV**配置
思科DMV**(动态多点V**)
**Author:** 颖奇L'Amore **Blog:** www.gem-love.com 谨以此篇Lab文章感谢我的CCIE引路人——QYT.Ender(周亚军) 其中Hub-1是R1,Spoke-1是R2,Spoke-2是R4,多点GRE是SW1 ![](http://cdn1.pic.y1ng.vip/iPic/2021-12-09-073942.jpg)
Y1ng
2022/10/27
3810
思科DMV**(动态多点V**)
经典GRE Over IPSec配置 (
本文继上文继续讨论gre over ipsec,上次我们是在两站点之间先建立IPSec连接(transport方式),然后再IPSec连接上再建立gre隧道,进行加密通信;本次我们换种方式来配置与上文相同的效果。这里我们用到了cisco路由器ipsec配置的一个技术:profile。
py3study
2020/01/14
4.7K0
玉龙小栈 | DMVPN 配置命令详解
Center(config-if)#ip add 172.16.1.100 255.255.255.0
Ponnie
2021/02/24
6271
烽火2640路由器命令行手册-07-安全配置命令
本章描述了用来配置AAA认证方法的命令。认证在用户被允许访问网络和网络服务之前对他们作出访问权利的鉴定。
landv
2018/12/17
1.6K0
网络工程师进阶 | V**的配置脚本和注意事项-MPLS V**、DMV**、IPSec V**、基于GRE的IPSec(思科)
①先保证LDP的transport-address可达(即保证MPLS域的通信,启用一个路由协议)
网络技术联盟站
2019/07/23
2K0
Cisco路由器之IPSec 虚拟专用网(内附配置案例)
一、虚拟专用网的定义 虚拟专用网就是在两个网络实体之间建立的一种受保护的连接,这两个实体可以通过点到点的链路直接相连,但通常情况下他们会相隔较远的距离。
小手冰凉
2019/11/07
3.1K1
综合实验——高级网络应用检测
本章将会进行网络高级应用的综合实验,里面会有三层交换机配置,热备,DHCP中继,生成树,OSPF,子网划分等技术和知识点。
网络豆
2022/11/20
5230
综合实验——高级网络应用检测
思科路由器配置笔记:静态路由、Rip、OSPF,原理结合实验,值得一看!
路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号,路由器工作在网络层,用来跨网段通信,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备,因此路由器是互联网中必不可少的网络设备之一.
网络技术联盟站
2021/07/02
5.5K0
网络安全实验14 配置IPSec VPN,实现私网之间的隧道互访
IPSec (Internet Protocol Security) 是一种开放标准的框架结构,用于为IP网络通信提供安全服务,确保数据的机密性、完整性和来源认证。它通常由两个主要部分组成:Authentication Header (AH) 和 Encapsulating Security Payload (ESP),分别负责数据的认证和加密。IPSec VPN 利用这些安全机制,使远程用户或分支办公室能够通过不安全的公共网络(如互联网)安全地访问企业内部网络资源。
90后小陈老师
2024/06/18
4.8K0
网络安全实验14 配置IPSec VPN,实现私网之间的隧道互访
XX高校校园网网络规划与设计_职业生涯规划word文档
Vlan功能简介: 通过vlan划分网段,隔离广播域 **链路聚合简介:**捆绑端口,实现带宽翻倍 HSRP功能简介: 设置共同的虚拟网关,优先级,冗余链路,当主干链路出故障时能自动启动备份链路 MSTP功能简介: 通过设计优先级来阻塞端口,可以解决交换机环路问题,减少数据包在网络循环的兜圈子 静态路由功能简介: 因为公网路由路由器器很多,如果边界配置动态路由,则边界路由器学习的路由记录就很多,会很占路由器内存及查找效率。所以只能采用默认路由 **动态路由简介RIP:**公网有很多路由器采用人工分配的工作量大,所以采用RIP协议 DHCP功能简介: 学习的主机很多,人工分配ip的工作量大,所以采用DHCP服务自动获取 NAT功能简介: 学校局域网用的都是私有地址,私有地址是不能访问公网地址的,需要把私有地址转换翻译成公网地址才能访问公网 Ipsec功能简介: 学校局域网是私有的,互联网用户是不能访问的。所以要配置VPN加密通道 GRE功能简介: 各校区园区的局域网是独立的,要实现各校区互通,要配置GER隧道,忽略公网路由器,直接看成一条网线连接园区边界路由器。
全栈程序员站长
2022/11/08
1.2K0
XX高校校园网网络规划与设计_职业生涯规划word文档
Cisco ASA 实现 IPSec 虚拟专用网(内附故障排查)
传送门:Cisco 路由器配置实例: https://blog.51cto.com/14227204/2448319 其实,防火墙和路由器的配置非常相似,可以参考上方传送门,下方会介绍一个防火墙的配置实例 一、路由器的故障诊断排查 1、show crypto isakmp sa
小手冰凉
2019/11/11
1.6K0
F1060 IPSEC典型组网配置案例(NAT穿越)
本案例采用H3C HCL模拟器的F1060防火墙来模拟IPSEC NAT穿越的典型组网配置。在网络拓扑图中存在子网1和子网2.为了保障子网1和子网2相互传输数据的安全性,因此需要在FW1与FW2采用建立IPSEC VPN隧道,由于FW1的出接口地址不固定且ISP为子网1的NAT设备,因此采用IKE野蛮模式。
网络技术联盟站
2020/03/12
1.9K0
dpdk结合sriov测试vpp ipsec性能
测试vpp ipsec转发性能,想当作openstack VPNaas的一种driver,提高ipsec网关的转发能力。
惠伟
2021/02/24
2.8K0
dpdk结合sriov测试vpp ipsec性能
Cisco 路由器之Easy虚拟专用网(解决出差员工访问公司内网)
在之前写过了Cisco路由器之IPSec 虚拟专用网;在Cisco的ASA防火墙上实现IPSec虚拟专用网。这两篇博文都是用于实现总公司和分公司之间建立虚拟专用网的,那么还有一种使用很多的情况,就是出差人员想要访问公司内网的资源呢?由于出差人员只是单一的一个客户端,所以和前两篇博文不一样,前两篇博文.da.建.虚.拟.专.用网,两端设备都是路由器或防火墙,有固定的IP地址,所以呢,并不能实现出差人员访问,这篇博文的目的,就是实现出差人员可以访问公司内网资源的,这个技术被称之为——Easy 虚拟专用网。
小手冰凉
2019/11/13
1K0
虚拟专用网和IPv6路由配置【Cisco】
一、单播地址:最高4位是0010开头 —》2 相当于IPv4里的公网地址 如:2001::1 二、链路本地地址:最高10位是1111111010000000 --》FE80 只能在同一链路节点间使用。每台主机都会给自己配置一个链路本地地址 三、唯一本地地址:最高7位是1111110—》 FC00 只能在本地网络中使用 相当于IPv4中的私有地址 这类地址一般很少使用。 四、组播地址:最高位是11111111----》FF 相当于IPv4中的D类地址 在IPv6中,没有广播地址,广播使用组播实现 如:FF02::1 本地链路中的所有主机 FF02::2本地链路中的所有路由器
MIKE笔记
2023/03/23
1.3K0
虚拟专用网和IPv6路由配置【Cisco】
IPSec配置与实验
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100096.html原文链接:
全栈程序员站长
2021/04/19
2.2K0
IPSec配置与实验
H3C IPSEC OVER GRE配置
 rule 10 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
py3study
2020/01/08
1.7K0
园区网&office网络搭建及配置示例
某天helpdesk的小伙伴问我,你们是怎么快速搭建一套office的网络环境的,当我打算给他详细的介绍我们的园区网的时候,他进一步具化了他的需求:不要求像我们大型园区网那么复杂,只要让小型的公司能满足基本的上网需求就可以,最好告诉他具体的配置命令。我用10几分钟在EVE拖出了几台网络设备,给他演示了下思路和命令。
Ponnie
2021/04/29
1.7K0
园区网&office网络搭建及配置示例
华为ensp中路由器IPSec VPN原理及配置命令(超详解)
虚拟专用网络(VPN)通过在您的设备和远程服务器之间创建加密隧道来工作。该隧道可保护您的互联网流量免受窥探,即使您使用的是公共 Wi-Fi 网络。
神秘泣男子
2024/06/03
3K0
华为ensp中路由器IPSec VPN原理及配置命令(超详解)
相关推荐
GETV**配置
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验