移除一个导入的Python模块。

45

可能重复:
如何在Python中卸载模块

在导入Numpy后,假设我想删除/移除numpy的导入引用

import sys 
import numpy as np 

doMe()
   np.something()

#unimport np
#remove numpy from memory

可能是重复问题:https://dev59.com/knRC5IYBdhLWcg3wAcXU#487718 - Don Question
Zaur,如果你需要降级一个软件包以获得不同的功能,那么你需要这样做。 - JCM
1个回答

44

46
del sys.modules["moduleName"]的翻译是:删除sys模块中名为"moduleName"的模块。del moduleName的翻译是:删除名为"moduleName"的变量或对象。 - Miladiouss
谢谢@Miladiouss。这对我有用。 - Cerin
1
它在某些情况下可能有效,但是这篇文章解释了为什么应该避免使用它,因为它可能会造成灾难性的破坏。 - Ben
5
所以,结论是一旦编写软件就应该永远不改变它吗?第一次就要绝对正确地编写它,以便永远不必更改它?调试软件只适用于业余爱好者?这完全没有意义!与其告诉人们不应该做什么,为什么不告诉人们他们应该如何用新版本替换旧版本的模块呢? - JDMorganArkansas
7
@JDMorgan 不,那不是结论。只需重新开始整个过程。简单明了。 - David Heffernan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接