pysqlcipher安装 - SyntaxError:调用'print'时缺少括号

时间:2015-02-25 09:40:27

标签: python python-3.x encryption sqlite sqlcipher

我有Python 3.4.2,我尝试使用Windows 8在我的电脑上安装 pysqlcipher 。 在我的命令提示符下输入以下代码后:

git clone https://github.com/leapcode/pysqlcipher/
cd pysqlcipher
python setup.py build_sqlcipher

我收到以下错误:

  File "setup.py", line 64
    print "CFLAGS", os.environ['CFLAGS']
                 ^
SyntaxError: Missing parentheses in call to 'print'

印刷似乎有问题。我有 Python 3.4.2 ,这里使用的打印语法对应于 Python 2.X 。我做了很多搜索,但我没有找到任何解决方案。

有人知道如何使用Python 3.4.2安装pysqlcipher吗?

感谢您的帮助!

PS:我已经关注了tutorial,所有指示都已完成。

1 个答案:

答案 0 :(得分:4)

看起来代码是为Python 2编写的.Python 3包含一些可能使Python 2与Python 3不兼容的更改。

Differences between python 2 and python 3

您可以使用附带的2to3工具将setup.pycross_bdist_wininst.py转换为兼容python 3的代码。

只需运行2to3 -w setup.py2to3 -w cross_bdist_wininst.py即可转换python代码。自动转换功能很好,但它确实错过了一个必要的转换。更改setup.py

中的第209行
-- if sources is None or type(sources) not in (ListType, TupleType):
++ if sources is None or type(sources) not in (List, Tuple):

并删除第30行:

-- from types import ListType, TupleType

这应该允许您编译使用python setup.py build_sqlcipher