Still running OctoPi 0.12 or old pip and setuptools? You need to do some manual upgrades
If you are running a stock OctoPi 0.13 or later you can now stop reading, this should only concern OctoPi 0.12 or older, or manual/modified installs that still run older pip and setuptools versions :)
If you flashed your OctoPi instance later than May 2016, you are most likely not running OctoPi 0.12. See also the FAQ.
pi@octopi ~ $ cat /etc/octopi_version 0.12.0
It has come to my attention that there was
a change on python’s package index PyPI on October 26th
that causes a problem with the
setuptools versions still installed on OctoPi versions 0.12 and
older. This problem manifest such that it is no longer possible to fetch dependencies e.g. during updates,
causing a broken install if it happens during an OctoPrint install. An example output of this kind of problem follows:
Scanning index of all packages (this may take a while) Reading http://pypi.python.org/simple Couldn't find index page for 'futures' (maybe misspelled?) No local packages or download links found for futures>=3.1.1,<3.2 error: Could not find suitable distribution for Requirement.parse('futures>=3.1.1,<3.2')
The key here is the line
Reading http://pypi.python.org/simple -
http://... is no longer
supported since the above mentioned upgrade on PyPI’s side, its replacement is the https version of the URL
https://pypi.python.org/simple. The by now rather old tools on OctoPi 0.12 still use the old URL however and
there lies the problem.
To fix this, you’ll need to run two manual commands via SSH on your OctoPi instance:
~/oprint/bin/pip install --index-url https://pypi.python.org/simple --upgrade pip
printf -- "[easy_install]\nindex-url = https://pypi.python.org/simple\n" > ~/.pydistutils.cfg
These two lines will upgrade your installed version of
pip to a current one that is compatible to the changes
mentioned above and also configure your Python environment’s setuptools to use the new https URL so it will be able
to fetch dependencies when updating OctoPrint.
If you already ran into issues on update, e.g. to 1.3.5 that was released a couple of days prior to the PyPI change, after running the two commands up there also do this:
cd ~/OctoPrint git pull ~/oprint/bin/python setup.py install sudo service octoprint restart
I’ve also added a link to this post to the FAQ.
edit 2017-11-03: Add information on how to determine the OctoPi version.
edit 2017-12-13: Add that old pip and setuptools version are affected in general.
- 01 Nov 2017
- Important Announcement