Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pysqlcipher installation - SyntaxError: Missing parentheses in call to 'print'

I have Python 3.4.2, and I try to install pysqlcipher on my PC with windows 8. After having entered the code below in my command prompt:

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

I’m getting the following error:

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

It seems to be a problem with print. I have Python 3.4.2, and the print syntax used here corresponds to Python 2.X. I have done lot of searching but I haven’t found any solution.

Does someone know how to install pysqlcipher with Python 3.4.2?

Thank you for your help!

PS: I have already followed this tutorial and all things indicated have been accomplished.

like image 545
FrancNovation Avatar asked Feb 04 '26 15:02

FrancNovation


1 Answers

It looks like the code is written for Python 2. Python 3 contains several changes that can make some Python 2 incompatible with Python 3.

Differences between python 2 and python 3

You can use the included 2to3 tool to convert the setup.py and cross_bdist_wininst.py into python 3 compatible code.

Just run 2to3 -w setup.py and 2to3 -w cross_bdist_wininst.py to convert the python code. The automatic convert works quite well but it does miss out one conversion that is necessary. Change line 209 in setup.py

-- if sources is None or type(sources) not in (ListType, TupleType):
++ if sources is None or type(sources) not in (List, Tuple):

and remove line 30:

-- from types import ListType, TupleType

This should then allow you to compile the using python setup.py build_sqlcipher

like image 114
mpursuit Avatar answered Feb 06 '26 07:02

mpursuit



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!