【发布时间】:2021-12-30 02:47:09
【问题描述】:
我在一个名为secrets.py 的python 文件中有一个变量,我试图从IPython 中访问它(特别是一个API 密钥)。如果我尝试from secrets import API_KEY,我会收到无法导入变量的错误消息。然而,有趣的是,标准的 python 环境(即在终端中运行python)可以很好地导入变量。标准 python 环境和 IPython 都是从同一个目录/虚拟环境中运行的。我不确定这里出了什么问题。任何帮助将不胜感激。
【问题讨论】:
-
我遇到过这种情况,IPython 使用的 Python 与运行
python时使用的不同。当您运行每个ipython和python并确认它们是否相同时,您能否仔细检查欢迎文本中的 Python 版本? -
你能分享一下具体的错误吗?如果您的 Ipython 出于某种原因不在正确的工作目录中,它可能会尝试在内置的 secrets 模块中查找此变量。通过这两种方法导入对我有用
-
这是一个很难回答的问题,因为它更像是调试。我无法为您提供灵丹妙药,但请尝试在 IPython 中运行
!pwd以确认您在您认为的目录中,等等。 -
@Catyre 该通用错误的结尾是重要部分,它将向您显示它试图访问的
secrets.py的路径。如果我从错误的位置执行此操作,我会得到ImportError: cannot import name 'API_KEY' from 'secrets' (C:\Users\username\AppData\Local\Programs\Python\Python39\lib\secrets.py)。而如果是变量的问题,则路径将是您工作目录中的secrets.py,而不是 Python 库。 -
@shriakhilc 我与您分享的是逐字记录的错误,没有遗漏,没有给定路径。话虽如此,我解决了这个问题。感谢您的帮助!
标签: python python-3.x ipython