问题标签 [python-importlib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 不推荐使用 imp 模块以支持 importlib
我在我的代码中使用熊猫,在熊猫中他们使用 imp 结节。现在我收到以下错误/警告
现在我做了一些搜索,发现 imp 模块正在被 importlib 模块取代。我更新了熊猫,但没有用。我似乎不太可能需要更改 Panda 的包代码。
有什么想法/修复吗?
python - Python:显示旧信息的导入文件
当然,这并不像我想象的那么复杂。我有一个存储用户凭据的文件,我们将其称为logins.py
. 我的主脚本app.py
将新帐户详细信息写入logins.py
列表userkeys
和passkeys
. 要将新信息附加到凭证文件必须在写入新信息之前app.py
导入。logins.py
问题是当我这样做时,旧信息被写入文件 - 我前段时间删除的列表中的项目。幽灵般的。这是我的一些代码:
如果我输入一个用户aaa
密钥和一个密码bbb
我得到
12345 和 67890 是我在很多个月前删除的旧用户密钥和密码,它们不断回来。importlib.reload
没什么区别。我错过了什么?
python - from django.utils.importlib import import_module ImportError: No module named importlib
我是 Django 的新手。我有一个 Django 休息项目。当我运行它时,错误显示为
我尝试使用命令安装 importlib
然后它显示
那么我如何安装 importlib 包?
python - 模块 `builtin` 的 `__import__` 属性的默认绑定是什么?
简而言之,来自 Python
自定义进口商
Python 提供的一个高级的、很少需要的功能是能够更改部分或全部 import 和 from 语句的语义。
重新绑定 __import__
__import__
您可以将模块的属性 重新绑定builtin
到您自己的自定义导入器函数——例如,使用第 174 页“Python 内置函数”中所示的通用内置包装技术。
在“您可以重新绑定模块的
__import__
属性”中builtin
,“模块 ”应该改为builtin
“模块 ”吗?builtins
“
__import__
模块的属性builtin
”是否默认绑定importlib.__import__
功能?或者“模块builtin
”是否提供绑定到其__import__
属性的默认实现?
python - `import` 语句和 `builtin.__import__()` 函数是否都默认基于 `importlib.__import()` 函数实现?
来自https://docs.python.org/3/library/importlib.html
importlib
包装的目的有两个。一种是 在 Python 源代码中提供语句的实现(因此,通过扩展, 函数) 。这提供了一个可移植到任何 Python 解释器的实现。这也提供了一种比用 Python 以外的编程语言实现的实现更容易理解的实现。
import
__import__()
import
第二,要实现的组件
import
在此包中公开,使用户更容易创建自己的自定义对象(通常称为导入器)以参与导入过程。
是不是说import
语句和builtin.__import__()
函数默认都是基于importlib.__import()
函数实现的?
但是https://stackoverflow.com/a/44655619/156458暗示
默认情况下builtins.__import__
没有实现importlib.__import__
。
https://docs.python.org/3/library/functions.html# import表示
该语句buitlins.__import__
调用了该函数。import
所以如果默认builtins.__import__
不基于实现importlib.__import__
,该import
语句也不会基于importlib.__import__
默认实现。
python - 如何在 Python 3 中执行文件并提供挂钩导入?
我正在使用 Python 3 来模拟另一个工具提供的 Python 脚本接口。(在编写此工具的脚本时,您运行 Python 脚本,这可以import mytool
访问脚本 API。)
我已经实现了这个工具公开的接口,并且想编写一个你可以调用的加载器,例如:
此加载器允许您在不实际安装该工具的情况下与该工具的某些部分功能进行交互。理想情况下,这应该允许我运行为该工具设计的现有脚本而无需修改。
在run_mytool_script.py
我期望的范围内:
- 初始化模拟脚本接口
- 准备导入钩子
exec
剧本dump_menu_items.py
但是,我不太清楚如何创建导入挂钩。我怎样才能安装一个钩子,以便我的模拟脚本界面像mytool
脚本一样暴露出来import mytool
?
注意,模拟脚本接口必须在运行时初始化,所以安装一个名为的包mytool
并不能解决问题。
python - 从回溯顶部删除几行
我正在调用importlib.import_module("somemodulename")
导入一些自定义的用户定义模块。此导入可能会失败。我想向用户提供有关失败原因的信息,因此我需要打印回溯,但它往往很长,充满了来自importlib
模块的行。例如它是:
显然,大多数行对用户来说是不感兴趣的。我希望回溯看起来像这样:
但问题是我不能依赖从importlib
包生成的行数(这是一个实现细节,可能会在未来的版本中更改,可能是平台或 Python 安装特定的),我想跳过,也不是数字自定义模块错误生成的行数(他可以自己导入一些其他模块,这可能会导致错误),我想保留。更复杂的是,用户还可以调用importlib
模块函数,这在这种情况下很好,应该包含在回溯中。
换句话说,我需要importlib
从回溯中删除所有第一块错误行。除了以某种“聪明”的方式解析回溯行之外的任何想法,我认为这将是一个依赖包中太多实现细节的黑客且非常脆弱的解决方案importlib
?
注意:我使用的是 Python 3.5+,解决方案应该与平台无关
python - python importlib没有命名模块
我正在使用烧瓶并具有以下结构
在 routes.py 中,我试图在 Interview 模块中创建一个 Interview 类的实例,就像这样
我在这里收到一个错误,上面写着
有关 init 文件的一些信息:
让我知道了解这些文件的内容是否有帮助。
python - 导入错误:Jupyter 笔记本中的 DLL 加载失败,但在 .py 文件中工作
我在 Anaconda 环境中安装了BreakoutDetection模块。当我尝试import breakout_detection
在 jupyter notebook 中使用导入模块时,出现以下错误
我可以在 python shell 中导入相同的模块
我查看了系统路径 ( print sys.path
) 以及 python shell 和 jupyter notebook。他们都是一样的。两者的可执行路径 ( print sys.executable
) 也是相同的。
有人可以帮助我解决我应该采取的步骤来解决这个问题吗?谢谢!