pip (python-pip) doesn't work in Trisquel
Hello dear friends,
I can't install any sofware/package with pip!
I try this commands:
pip install
sudo pip install
After running these, I receive many error codes like this:
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 209, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 328, in run
wb.build(autobuilding=True)
File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 748, in build
self.requirement_set.prepare_files(self.finder)
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 360, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 512, in _prepare_file
finder, self.upgrade, require_hashes)
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 273, in populate_link
self.link = finder.find_requirement(self, upgrade)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 442, in find_requirement
all_candidates = self.find_all_candidates(req.name)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 400, in find_all_candidates
for page in self._get_pages(url_locations, project_name):
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 545, in _get_pages
page = self._get_page(location)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 648, in _get_page
return HTMLPage.get_page(link, session=self.session)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 757, in get_page
"Cache-Control": "max-age=600",
File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 480, in get
return self.request('GET', url, **kwargs)
File "/usr/lib/python2.7/dist-packages/pip/download.py", line 378, in request
return super(PipSession, self).request(method, url, *args, **kwargs)
File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 468, in request
resp = self.send(prep, **send_kwargs)
File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 597, in send
history = [resp for resp in gen] if allow_redirects else []
File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 195, in resolve_redirects
**adapter_kwargs
File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/sessions.py", line 576, in send
r = adapter.send(request, **kwargs)
File "/usr/share/python-wheels/CacheControl-0.11.5-py2.py3-none-any.whl/cachecontrol/adapter.py", line 46, in send
resp = super(CacheControlAdapter, self).send(request, **kw)
File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/adapters.py", line 376, in send
timeout=timeout
File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 610, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/util/retry.py", line 228, in increment
total -= 1
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'
I reinstall trisquel but error codes showed again!
I want install django... my python2 version is 2.7.12 and python3 version is 3.5.2
Please help me. I don't have any idea. pip work well in ubuntu but not in trisquel!
Do you have any suggestion?
(sorry for my bad English ;) )
> Hello dear friends,
> I can't install any sofware/package with pip!
pip searches and installs from the PyPi repository. This repository
contains proprietary software. Since Trisquel can't control what goes
into the PyPi repository, the only solution was to remove pip from
Trisquel.
What package are you trying to install through pip? A lot of free
PyPi packages are already available in the Ubuntu and Trisquel
repositories. For package "foo" try
$ sudo apt install python-foo
or
$ sudo apt install python3-foo
If that doesn't work, check the license of the program to make sure that
it is free software. If it is, I would build it from source, which for
PyPi packages is very easy to do. As an example, here's what you would
do for the package "thefuck".
(1) Find the package on pypi.org
https://pypi.org/project/thefuck/
(2) Go to the bottom of the page and download thefuck-3.28.tar.gz, which
contains the source code.
(3) In a terminal, cd into the directory that you saved the file. For
example, if it was saved to your Downloads directory,
$ cd ~/Downloads
(4) Unpack and build
$ tar xf thefuck-3.28.tar.gz
$ cd thefuck-3.28/
$ sudo apt install python-setuptools python3-setuptools
$ ./setup.py build
$ sudo $ ./setup.py install
I wouldn't recommend depending on executing setup.py scripts the way you show. Not all setup.py scripts have the needed shebang and even with those that do, taking advantage of it means you don't know which version of Python it's being installed for. Instead, I'd recommend:
python setup.py build
sudo python setup.py install
or:
python3 setup.py build
sudo python3 setup.py install
On a side note, you can also install locally in your user directory:
python setup.py install --user
python3 setup.py install --user