- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
注意:我没有接受答案,因为我真正的问题是为什么这被标记为编译错误。我对@TorelTwiddler 的回答投了赞成票,因为他提供了一个解决方法,但我想了解这个问题。
我有一个包含自测代码的简单模块。为了便于在交互式 session 中使用,自测代码会自行重新加载(模块)。
这在 PyDev (RunAs) 和在交互式窗口中运行(在手动修改 sys.path
和导入之后)都可以正常工作;但是 PyDev IDE 仍然在行上给出“编译”/red-X 错误
import Mod1
我从自身导入 Mod1
的原因是名称必须在运行 Test()
的任何上下文中可解析,以便重新加载成功。例如,如果您从一个新的交互式窗口导入 MyMain
,则在没有导入的情况下对 reload
的调用将失败,因为名称 Mod1 未知。
有什么办法可以解决这个问题吗? Mod1
是一个更大项目的一部分,将其始终标记为未编译会使开发变得更加困难...
有问题的模块:
# Mod1.py
def Test():
"""
run the self-test, but first force a reload of the module under test (this mod)
"""
import Mod1 # *****'COMPILE' ERROR HERE******
import imp
Mod1 = imp.reload(Mod1)
TestImpl()
def TestImpl():
"""
self test here
since I reload above, I can change this code and re-run from an interactive window
this has to be a seperate function for the reload in Test to have an effect on this code
"""
print(input("enter"))
仅在 PyDev 中使用的额外 Bootstrap 模块(因此我可以“运行”)
# MyMain.py
import Mod1
Mod1.Test()
PyDev/Project PYTHONPATH(显示正确,此文件夹位于我工作区的根目录)。既然它确实在 PyDev 中运行 OK,那肯定是正确的?
/MyDirectory
谢谢!
最佳答案
如果您在自身内部重新加载一个模块,您会创建一个无限循环,因为您重新加载该模块只是为了再次重新加载该模块,如此反复...
在您的 MyMain.py
中,您可以这样做:
import Mod1
reload(Mod1)
Mod1.Test()
我想如果没有进一步的代码示例,很难准确判断为什么你必须重新加载模块,但如果你必须这样做,那应该可以工作(无需在模块中执行)
关于python - pydev - ide 提示模块导入自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7770425/
使用 pydev 时,ctrl+f9 会打开一个方便的窗口,让我可以选择在当前文件中运行哪个单元测试。是否有相同功能的调试版本? 最佳答案 按 Ctrl + F9 启动单元测试。在下一个允许您选择测试
我一直在寻找一种在 eclipse 中使用 python 虚拟环境的好方法。 我发现的唯一建议是为每个虚拟环境创建一个新的 eclipse 范围的“解释器”。这对许多项目来说很麻烦,但它有效。 我希望
我在 Python 项目中所有模块的开头使用以下内容: import setup_loggers setup_loggers是一个可以做到这一点的模块。 import语句确保无论首先加载哪个模块,记录
我已经找了很长一段时间了,但就是找不到答案。类似的问题涉及第三方库等的一些棘手案例,但我的情况似乎很简单。不过我不明白这是如何工作的。 我使用的是 Eclipse 3.5.2、Pydev 2.2.0,
我已经通过easy_install安装了pylint。我可以跑 pylint 成功。但是 pydev 拒绝使用它。 我检查了“使用 pylint” 我配置了正确的路径 我在 eclipse 中更新了我
使用普通交互式控制台时,我让 ipython 在 pydev 中工作,但是当进入 Debug模式时,控制台恢复到标准 pydev 控制台。如果我关闭此控制台并重新打开它,ipython 会返回并且我可
随着 googleappengine 的启动创建了一个 gae 项目,并使用 textmate 对其进行了构建。 现在,我想将其导入到 Eclipse PyDev GAE 项目中。尝试导入它,但不起作
我经常使用错误的 PYTHONPATH 创建一个 Pydev(比如 Google App Engine)Eclipse 项目。比如说,它缺少“lib”。该项目充满了红色x的含义错误。很好。我将项目 P
在项目资源管理器中删除 PyDev 项目中的源文件夹时,项目 PYTHONPATH 未更新,并且大纲中有一个红色的 x 标记,并显示一条错误消息“源文件夹:[源文件夹名称]未找到”。 这真的是预期的行
所以我刚刚安装了 SubnetTree ( http://www.icir.org/robin/pysubnettree/ ),如果我打开 Python 交互式解释器,我可以成功导入它,而不会出现任何
我建立了一个新项目,并用简单的模型填充了它。 (基本上我在关注 tut 。) 当我在命令行上运行 python manage.py shell 时,它工作正常: >python manage.py s
如果您在 PyDev Package Explorer 中单击类似向下三角形的图标,然后选择“自定义 View ”,则“可用自定义”弹出菜单允许用户选择一组标准文件中的哪些是可见的在包资源管理器中。
在使用 PyDev zip 文件时,我很难让 Eclipse 识别 PyDev。 (我需要使用 zip 文件,因为开发机器无法访问互联网)。 我安装了 Eclipse 并下载了 PyDev zip。我
PyDev Eclipse 中的“源文件夹”和“pydev 包”有什么区别? 最佳答案 包是具有逻辑分组的文件的收集器 import . 源文件夹使文件可以直接导入 import 并且常规文件夹基本
在 Eclipse 中,您可以单击一个 Python 类变量,一旦它突出显示,右键单击以获取上下文菜单,然后运行“Refactoring->Generate Properties”。然后 PyDev
请提出一种使用pydev自动代码格式自动格式化eclipse项目中所有py文件的方法。我们正在使用pydev代码格式化程序来使我们的代码保持一致,并且确实希望将所有文件标准化。 由于我们已经在pyde
我在使用 PyDev 和 Eclipse 时遇到问题。这首先发生在我拥有的一些旧 EasyEclipse 版本上。我认为这只是因为 EasyEclipse 安装较旧,但现在 Eclipse 4.2.1
我一直在使用 PyDev 成功运行 nose 测试,并想试试 nose2。 所以我安装了它 pip install nose2 复制/粘贴来自 http://nose2.info/ 的示例代码进入名为
我昨天更新了 PyDev (Eclipse),现在它告诉我没有,姓名 和其他保留字/内置函数无效,但脚本运行得很好。我在这个论坛上读到这个问题涉及错误地导入内置插件。我曾尝试更改解释器并重新添加它,但
我无法让 Jython 控制台在 Eclipse Luna 中工作。 Python 控制台有效。 错误信息是: Error initializing console. Unexpected error
我是一名优秀的程序员,十分优秀!