Python 2.7 ImportError:没有名为pysqlite2的模块

时间:2017-01-19 14:36:29

标签: python python-2.7 sqlite

我收到以下错误:

  

从pysqlite2导入dbapi2作为sqlite ImportError:没有名为pysqlite2的模块

我尝试安装它:

python -mpip install pysqlite2

我收到此错误:

  

无法找到满足要求pysqlite2的版本   (来自versio ns :)没有找到pysqlite2的匹配分布

我读到了这个: ImportError: No module named pysqlite2

但解决方案是改变我不允许做的代码。 这段代码正在一个工作站上工作,我们只是想让它在另一个工作站工作。

我该怎么办(我应该注意我正在使用Windows 7)?

1 个答案:

答案 0 :(得分:3)

正确答案

正确的答案是您的代码已过时且需要更新。去做。分支或分叉存储库,尽一切可能使工作,现代代码。

你不能做正确的事情

如果您因为人为的原因无法或不愿意做这些事情,那么您可以选择一些选择,从最不可怕到最可怕:

  • Create your own pysqlite2 module,这是sqlite3的包装器。您可能只需要调整一些功能,甚至可能不必这样做。它可能看起来像这样:

    import sqlite3
    
    connect = sqlite3.connect
    

    我不确定代码使用的功能。但如果你这样做,这工作。

  • 通过monkeypatching更改原始代码。这很容易出错,而且很难做对。

  • doing some AST hacks更改原始代码。这很困难而且很苛刻。你可以做到这一点。但你不应该。你真的真的不应该。

做正确的事情,但如果你做不到, 可能会做出错误的事情,并且无论如何都可能会付出很多努力。只要确保留下大量的评论,向那些追随你的穷人开发人员道歉,并且必须保持这个胶带和打包线的球。

你永远不知道,他们可能是一个杀人的精神病患者,知道你住在哪里。 (我知道如果我不得不维护这样的代码,我会得到一点凶杀)