【发布时间】:2017-11-09 08:43:26
【问题描述】:
我试图了解 PyDev 不喜欢什么。我在 Ubuntu 下,似乎 PyDev 没有看到像 bash 这样的库。 我有两个库 sqlite3 和 peewee 的问题。如果我在 shell 上运行我的程序,一切都很好;如果我在新安装的 PyDev 中打开它,我会看到一些带有下划线的指令
未解决的导入:sqlite3
和
来自导入的未定义变量:get
第一个错误来自以下代码:
from pprint import pprint
import sqlite3
from bs4 import BeautifulSoup
import codecs
from database import Tbrecipe
from datetime import datetime
import logging
def main():
logger = logging.getLogger('peewee')
logger.setLevel(logging.DEBUG)
logger.addHandler(logging.StreamHandler())
CONN = sqlite3.connect('ent.db')
导入错误发生在...导入。第二行。发生这种情况是因为我亲自将 /usr/lib/python2.7/sqlite3 添加到 pydev 的 python 解释器的 pythonpath 中。如果我删除它,错误是在“sqlite3.connect”。我想 connect 没有在那个目录上定义。没找到。
Peewee 还有其他问题。我为我的数据库表创建了一个对象类。在我尝试使用从 peewee 继承的一些方法之前,一切都很好。
我的 database.py 看起来像这样:
从peewee导入* 数据库 = MySQLDatabase('test', **{'host': 'localhost', '密码':'rt','用户':'rt','charset':'utf8mb4'})
类未知字段(对象): def init(self, *_, **__): 通过
类BaseModel(模型): 元类: 数据库 = 数据库
类 Tbitem(BaseModel): 源 = 整数字段() name = CharField(null=True)
在我的 main.py 上
...
from database import Tbitem
item = Tbitem.get(Tbitem.id==id_item)
“get”和“Tbitem.id”都用红色下划线标出错误
来自导入的未定义变量:get
我可以继续工作,什么都没有发生,或者我可以回到 vim 或 vscode(慢速调试器),但我更喜欢使用它,因为我习惯了 eclipse 并且我喜欢 pydev 的想法。应该是吗?我确实在 shell 上检查了 pythonpath,它看起来一样,除了一个不再存在的目录。
我在 pydev 的常见问题解答中读到它不喜欢软链接。我应该删除所有软链接吗? peewee 没有软链接和 sqlite3 我什至不知道它在哪里结束。
任何有类似问题和解决方案的人?我确实阅读了关于 SO 的大部分问题,但它们对我不起作用。
【问题讨论】: