Reputation: 769
I'm tying to install a new package I have been recommended using either pip
or easy_install
and both are throwing up the below error and I can figure out why.
I have cleared the temp
folder as thought this was the issue at first.
I have just stuck the pip
error up but can add easy_install
if needed
c:\Python32\Scripts>easy_install PyMySQL
C:\Python32\lib\site-packages\setuptools-20.2.2-py3.2.egg\pkg_resources\__init__.py:87: UserWarning: Support for Python 3.0-3.2 has been dropped. Future versions will fail here.
Searching for PyMySQL
Reading https://pypi.python.org/simple/PyMySQL/
Best match: PyMySQL 0.7.2
Downloading https://pypi.python.org/packages/source/P/PyMySQL/PyMySQL-0.7.2.tar.gz#md5=6d757cda8bfbd312714207f7c0bef5c7
Processing PyMySQL-0.7.2.tar.gz
Writing c:\users\jarratt\appdata\local\temp\easy_install-bf6ut8\PyMySQL-0.7.2\setup.cfg
Running PyMySQL-0.7.2\setup.py -q bdist_egg --dist-dir c:\users\jarratt\appdata\local\temp\easy_install-bf6ut8\PyMySQL-0.7.2\egg-dist-tmp-x5vabv
C:\Python32\lib\site-packages\setuptools-20.2.2-py3.2.egg\pkg_resources\__init__.py:87: UserWarning: Support for Python 3.0-3.2 has been dropped. Future versions will fail here.
Traceback (most recent call last):
File "C:\Python32\lib\site-packages\setuptools-20.2.2-py3.2.egg\setuptools\sandbox.py", line 154, in save_modules
File "C:\Python32\lib\site-packages\setuptools-20.2.2-py3.2.egg\setuptools\sandbox.py", line 195, in setup_context
File "C:\Python32\lib\site-packages\setuptools-20.2.2-py3.2.egg\setuptools\sandbox.py", line 243, in run_setup
File "C:\Python32\lib\site-packages\setuptools-20.2.2-py3.2.egg\setuptools\sandbox.py", line 273, in run
File "C:\Python32\lib\site-packages\setuptools-20.2.2-py3.2.egg\setuptools\sandbox.py", line 242, in runner
File "C:\Python32\lib\site-packages\setuptools-20.2.2-py3.2.egg\setuptools\sandbox.py", line 46, in _execfile
File "c:\users\jarratt\appdata\local\temp\easy_install-bf6ut8\PyMySQL-0.7.2\setup.py", line 4, in <module>
File "c:\users\jarratt\appdata\local\temp\easy_install-bf6ut8\PyMySQL-0.7.2\pymysql\__init__.py", line 28, in <module>
File "c:\users\jarratt\appdata\local\temp\easy_install-bf6ut8\PyMySQL-0.7.2\pymysql\converters.py", line 59
_escape_table[0] = u'\\0'
^
SyntaxError: invalid syntax
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\Python32\Scripts\easy_install-script.py", line 9, in <module>
load_entry_point('setuptools==20.2.2', 'console_scripts', 'easy_install')()
File "C:\Python32\lib\site-packages\setuptools-20.2.2-py3.2.egg\setuptools\command\easy_install.py", line 2244, in main
Upvotes: 1
Views: 297
Reputation: 9994
The code of PyMySQL uses Unicode literals.
The py3.2
parts of the directory names in the traceback of your error message tells me you're using Python 3.2. While Python 2 had Unicode literals, Python 3.0 to 3.2 didn't: The syntax was removed with Python 3.0:
You can no longer use
u"..."
literals for Unicode text.
It was re-introduced with Python 3.3 by PEP 414 for backwards compatibility reasons.
As Boaz stated and Padraic pointed out, PyMySQL requires Python 2.x ≥ 2.6 or 3.x ≥ 3.3, thus why the authors of PyMySQL felt free to use the Unicode literal syntax in their code.
Upvotes: 2
Reputation: 72
Install Python 3.3 or higher. Check PyMySQL minimum requirements:
https://pypi.python.org/pypi/PyMySQL#id1
Upvotes: 2