- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
PyDev 正在报告不存在的导入错误。最初的症状是一个伪造的“ Unresolved 导入”错误,已通过以下组合修复:
现在错误是“未验证的导入变量”——它似乎无法找到 pymssql.connect。
这不是 PYHTONPATH 问题。我可以很好地访问该模块,文件中出现(所谓的)错误的代码运行良好——它有单元测试和生产代码调用它。
错误在 PyDev 的某处:我在 PyDev 项目中添加了一个新模块,但错误仅发生在新模块中。我已经尝试了以上所有方法。
因此,我打算将此代码发布到其他地方以征求有关设计的一些评论,并且在评论中要求我发布代码。 (灵感来自:Database connection wrapper 和 Clint Miller 对这个问题的回答:How do I correctly clean up a Python object?)。导入错误发生在第 69 行(self.connection = pymssql.connect ...)。不确定这对回答问题有什么好处,但是......
import pymssql
from util.require_type import require_type
class Connections(object):
@require_type('host', str)
@require_type('user', str)
@require_type('password', str)
@require_type('database', str)
@require_type('as_dict', bool)
def __init__(self, host, user, password, database, as_dict=True):
self.host = host
self.user = user
self.password = password
self.db = database
self.as_dict = as_dict
@staticmethod
def server1(db):
return Connections('','','','')
@staticmethod
def server2(db):
pass
@staticmethod
def server3(db):
pass
class DBConnectionSource(object):
# Usage:
# with DBConnectionSource(ConnectionParameters.server1(db = 'MyDB)) as dbConn:
# results = dbConn.execute(sqlStatement)
@require_type('connection_parameters', Connections)
def __init__(self, connection_parameters=Connections.server1('MyDB')):
self.host = connection_parameters.host
self.user = connection_parameters.user
self.password = connection_parameters.password
self.db = connection_parameters.db
self.as_dict = connection_parameters.as_dict
self.connection = None
def __enter__(self):
parent = self
class DBConnection(object):
def connect(self):
self.connection = pymssql.connect(host=parent.host,
user=parent.user,
password=parent.password,
database=parent.db,
as_dict=parent.as_dict)
def execute(self, sqlString, arguments={}):
if self.connection is None:
raise Exception('DB Connection not defined')
crsr = self.connection.cursor()
crsr.execute(sqlString, arguments)
return list(crsr)
def cleanup(self):
if self.connection:
self.connection.close()
self.connection = DBConnection()
self.connection.connect()
return self.connection
def __exit__(self, typ, value, traceback):
self.connection.cleanup()
最佳答案
在错误所在的行尝试 ctrl+1
并添加一条注释,说明您期待导入。这应该可以解决 PyDev 错误,因为它进行静态代码分析而不是运行时分析。
关于python - PyDev 中假的 Unresolved 导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14260714/
使用 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
我是一名优秀的程序员,十分优秀!