I am quite new to this so these type of errors just leave me blank..

I saw another question in which the answer is, do sudo apt install sqlite3. I tried that and the error message says I need to download the 'Java Developer's Kit', not sure if I should do it, so I didn't.

here is the full error message:

Collecting sqlite3
  Using cached sqlite3-99.0.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/var/folders/lz/hr6sng095hbcsl8b3y9837zc0000gn/T/pip-build-F33eXV/sqlite3/setup.py", line 2, in <module>
    raise RuntimeError("Package 'sqlite3' must not be downloaded from pypi")
RuntimeError: Package 'sqlite3' must not be downloaded from pypi

Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/lz/hr6sng095hbcsl8b3y9837zc0000gn/T/pip-build-F33eXV/sqlite3/

How do I fix this?

  • 2
    What is the command you're running? I don't see how installing sqlite3 package could produce such output, since it has no relationship with Python or Java (it's written in C). – Dmitry Grigoryev Apr 19 '17 at 11:41
  • Dmitry is correct. As of this writing, the dependencies for Raspbian Jessie sqlite3 are: libc6 (>= 2.4), libreadline6 (>= 6.0), libsqlite3-0 (=, and libtinfo5. – Hydraxan14 Apr 19 '17 at 20:25
  • The command I run is, pip install sqlite3 – Horacio Nesman Apr 20 '17 at 9:20

I searched for Package 'sqlite3' must not be downloaded from pypi using DuckDuckGo and found this solution from a-team systems:

The good news is there is an easy work around: enable your virtualenv to use the system’s (global) site pacakges. This is disabled by default and needs to be enabled when creating the virtualenv via:

virtualenv --system-site-packages venvdir

You then simply install the sqlite pip package globally either via pip outside of the virtualenv or via your systems package manager. Once this is done it will work inside the virtualenv as well!


The command you have in your initial post is "sudo apt install sqlite3".

NOTE "apt".

I think what you really meant (and need to use) is "sudo apt-get install sqlite3".

NOTE "apt-get".

"apt-get" being Advanced Packaging Tool on Debian Linux.

"apt" by itself, I'll assume is trying to run the Java Annotation Processing Tool, which accounts for your message about needing to install a JDK.

=========== Update: Come to find out, as explained by Dmitry (thanks!), apt should have worked by itself (without -get) and is a newer front-end to Advanced Packaging Tool. Here is some more info on that, specifically. OP must have been in exactly the right directory to stumble into a half-baked Java command.


Incidentally, before running the correct apt-get command, you should probably run "sudo apt-get update". Some more knowledgeable Linux people might correct me, but I think this updates the package list that will be used by your apt-get install command to make sure it downloads the right parts from the right places. I've been playing with the RPi for a couple years and I've gotten into the habit of doing sudo apt-get update before I install packages or upgrade, which is not to say it's a good habit!

  • 4
    Actually, apt is a legit command which behaves like a frontend to apt-get and apt-cache. I can run sudo apt install sqlite3 just fine. Not sure how the OP got this Java Annotation Processing Tool, which seems to be deprecated and AFAIK not even included in Jessie. – Dmitry Grigoryev Apr 19 '17 at 15:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.