Reputation: 58662
How to install Requests to use with python 3.3.
I use mac, and have both python 3.3 and 2.7.1 installed. Paths.
2.7.1 :
which python
/usr/bin/python
3.3:
/Library/Frameworks/Python.framework/Versions/3.3/bin
I tried these to install
curl -O http://python-distribute.org/distribute_setup.py
sudo /Library/Frameworks/Python.framework/Versions/3.3/bin/python3 distribute_setup.py
sudo /Library/Frameworks/Python.framework/Versions/3.3/bin/python3 -m easy_install pip
sudo /Library/Frameworks/Python.framework/Versions/3.3/bin/pip install requests
the last step gives error:
File "./requests/utils.py", line 22, in <module>
from .compat import parse_http_list as _parse_list_header
File "./requests/compat.py", line 112, in <module>
from .packages import chardet2 as chardet
ImportError: cannot import name chardet2
I tried setting the PYTHONPATH to:
echo $PYTHONPATH
/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages
[~/tmp] $
still same error.
I also tried after installing chardet2; but
$ python3.3
Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 01:25:11)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import chardet2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'chardet2'
>>>
Skipping link http://octodex.github.com/ (from https://github.com/kennethreitz/requests); not a file
Skipping link https://github.com/site/terms (from https://github.com/kennethreitz/requests); not a file
Skipping link https://github.com/site/privacy (from https://github.com/kennethreitz/requests); not a file
Skipping link https://github.com/security (from https://github.com/kennethreitz/requests); not a file
Using version 0.14.2 (newest of versions: 0.14.2, 0.14.1, 0.14.0, 0.13.9, 0.13.8, 0.13.7, 0.13.6, 0.13.5, 0.13.4, 0.13.3, 0.13.2, 0.13.1, 0.13.0, 0.12.1, 0.12.0, 0.11.2, 0.11.1, 0.10.8, 0.10.7, 0.10.6, 0.10.4, 0.10.3, 0.10.2, 0.10.1, 0.10.0, 0.9.3, 0.9.2, 0.9.1, 0.9.0, 0.8.9, 0.8.8, 0.8.7, 0.8.6, 0.8.5, 0.8.4, 0.8.3, 0.8.2, 0.8.1, 0.8.0, 0.7.6, 0.7.5, 0.7.4, 0.7.3, 0.7.2, 0.7.1, 0.7.0, 0.6.6, 0.6.5, 0.6.4, 0.6.3, 0.6.2, 0.6.1, 0.6.0, 0.5.1, 0.5.0, 0.4.1, 0.4.0, 0.3.4, 0.3.3, 0.3.2, 0.3.1, 0.3.0, 0.2.4, 0.2.3, 0.2.2, 0.2.1, 0.2.0)
Downloading from URL http://pypi.python.org/packages/source/r/requests/requests-0.14.2.tar.gz#md5=488508ba3e8270992ad5b3fb54d364ca (from http://pypi.python.org/simple/requests/)
Running setup.py egg_info for package requests
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/private/var/folders/fc/k8b9ds214nv4lqv2x4395khc0000gn/T/pycharm-packaging377147531338803949.tmp/requests/setup.py", line 6, in <module>
import requests
File "./requests/__init__.py", line 52, in <module>
from . import utils
File "./requests/utils.py", line 22, in <module>
from .compat import parse_http_list as _parse_list_header
File "./requests/compat.py", line 112, in <module>
from .packages import chardet2 as chardet
ImportError: cannot import name chardet2
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/private/var/folders/fc/k8b9ds214nv4lqv2x4395khc0000gn/T/pycharm-packaging377147531338803949.tmp/requests/setup.py", line 6, in <module>
import requests
File "./requests/__init__.py", line 52, in <module>
from . import utils
File "./requests/utils.py", line 22, in <module>
from .compat import parse_http_list as _parse_list_header
File "./requests/compat.py", line 112, in <module>
from .packages import chardet2 as chardet
ImportError: cannot import name chardet2
----------------------------------------
Command python setup.py egg_info failed with error code 1 in /private/var/folders/fc/k8b9ds214nv4lqv2x4395khc0000gn/T/pycharm-packaging377147531338803949.tmp/requests
Exception information:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/pip-1.2.1-py3.3.egg/pip/basecommand.py", line 107, in main
status = self.run(options, args)
File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/pip-1.2.1-py3.3.egg/pip/commands/install.py", line 256, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/pip-1.2.1-py3.3.egg/pip/req.py", line 1042, in prepare_files
req_to_install.run_egg_info()
File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/pip-1.2.1-py3.3.egg/pip/req.py", line 236, in run_egg_info
command_desc='python setup.py egg_info')
File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/pip-1.2.1-py3.3.egg/pip/util.py", line 612, in call_subprocess
% (command_desc, proc.returncode, cwd))
pip.exceptions.InstallationError: Command python setup.py egg_info failed with error code 1 in /private/var/folders/fc/k8b9ds214nv4lqv2x4395khc0000gn/T/pycharm-packaging377147531338803949.tmp/requests
Upvotes: 6
Views: 8653
Reputation: 365657
The Cheese Shop page currently shows "build status failing" for version 0.14.2. And it looks like downloading this tarball and trying to build/test/install it does actually fail with 3.3. This isn't too surprising, since 0.14.1 was the first version to work with 3.3, and probably not many people are using it with 3.3 yet…
So, what can you do about it (beyond reporting a bug in the appropriate way)? Two choices:
The second one is actually easier, and probably better (when it works), and it's actually suggested in the documentation for Requests.
However, what the documentation doesn't tell you is that you can get the benefits and simplicity of pip
while still using the latest source:
pip-3.3 install git+https://github.com/kennethreitz/requests
I just tested this, and it worked fine, and (as expected) gave me the exact same results as following the instructions in the Requests documentation.
Upvotes: 12