Python – pip install requirements.txt does not work

pip install requirements.txt does not work… here is a solution to the problem.

pip install requirements.txt does not work

I’m trying to install all my Python/Django packages on my Digital Ocean Django server. I have my requirements .txt in the root directory, so I do pip install -r requirements.txt - but it doesn’t work. Here is my requirements.txt:

amqp==2.2.2
billiard==3.5.0.3
celery==4.1.0
coverage==4.4.2
decorator==4.0.11
defusedxml==0.4.1
Django==1.11.8
django-allauth==0.29.0
django-apptemplates==1.2
django-celery-beat==1.0.1
django-common-helpers==0.9.1
django-cron==0.5.0
django-el-pagination==3.1.0
django-fs-trumbowyg==0.1.4
django-markdown-deux==1.0.5
django-trumbowyg==1.0.1
django-widget-tweaks==1.4.1
get==0.0.0
imageio==2.1.2
kombu==4.1.0
markdown2==2.3.1
moviepy==0.2.3.2
numpy==1.13.3
oauthlib==2.0.1
olefile==0.44
Pillow==4.0.0
post==0.0.0
public==0.0.0
python-magic==0.4.12
python3-openid==3.0.10
pytz==2017.3
query-string==0.0.0
request==0.0.0
requests==2.11.1
requests-oauthlib==0.7.0
schedule==0.4.3
setupfiles==0.0.0
tqdm==4.11.2
vine==1.1.4

Here is the log:

Collecting amqp==2.2.2 (from -r requirements.txt (line 1))
  Using cached amqp-2.2.2-py2.py3-none-any.whl
Collecting billiard==3.5.0.3 (from -r requirements.txt (line 2))
  Using cached billiard-3.5.0.3-py3-none-any.whl
Collecting celery==4.1.0 (from -r requirements.txt (line 3))
  Using cached celery-4.1.0-py2.py3-none-any.whl
Collecting coverage==4.4.2 (from -r requirements.txt (line 4))
  Using cached coverage-4.4.2-cp35-cp35m-manylinux1_x86_64.whl
Collecting decorator==4.0.11 (from -r requirements.txt (line 5))
  Using cached decorator-4.0.11-py2.py3-none-any.whl
Collecting defusedxml==0.4.1 (from -r requirements.txt (line 6))
  Using cached defusedxml-0.4.1.tar.gz
Requirement already satisfied: Django==1.11.8 in ./env/lib/python3.5/site-packages (from -r requirements.txt (line 7))
Collecting django-allauth==0.29.0 (from -r requirements.txt (line 8))
  Using cached django-allauth-0.29.0.tar.gz
Collecting django-apptemplates==1.2 (from -r requirements.txt (line 9))
  Using cached django-apptemplates-1.2.tar.gz
Collecting django-celery-beat==1.0.1 (from -r requirements.txt (line 10))
  Using cached django_celery_beat-1.0.1-py2.py3-none-any.whl
Collecting django-common-helpers==0.9.1 (from -r requirements.txt (line 11))
  Using cached django-common-helpers-0.9.1.tar.gz
Collecting django-cron==0.5.0 (from -r requirements.txt (line 12))
  Using cached django-cron-0.5.0.tar.gz
Collecting django-el-pagination==3.1.0 (from -r requirements.txt (line 13))
  Using cached django-el-pagination-3.1.0.tar.gz
Collecting django-fs-trumbowyg==0.1.4 (from -r requirements.txt (line 14))
  Using cached django-fs-trumbowyg-0.1.4.tar.gz
Collecting django-markdown-deux==1.0.5 (from -r requirements.txt (line 15))
  Using cached django-markdown-deux-1.0.5.zip
Requirement already satisfied: django-trumbowyg==1.0.3 in ./env/lib/python3.5/site-packages (from -r requirements.txt (line 16))
Collecting django-widget-tweaks==1.4.1 (from -r requirements.txt (line 17))
  Using cached django_widget_tweaks-1.4.1-py2.py3-none-any.whl
Collecting get==0.0.0 (from -r requirements.txt (line 18))
  Using cached get-0.0.0.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/home/james/postr/env/lib/python3.5/tokenize.py", line 454, in open
        buffer = _builtin_open(filename, 'rb')
    IsADirectoryError: [Errno 21] Is a directory: '/tmp/pip-build-9eo5rb8l/get/setup.py'

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-9eo5rb8l/get/

I

thought it was working, only get==0.0.0 packages have errors – but when I do pip freeze it says:

Django==1.11.8
django-trumbowyg==1.0.3
gunicorn==19.7.1
psycopg2==2.7.3.2
pytz==2017.3

This indicates that none of them work. I manually installed django-trumbowyg using pip install django-trumbowyg, that’s why it exists, but the others only exist when setting up the Django server. So why is pip install -r requirements.txt not working and how can I fix it?

Solution

  1. You should fix the pack version in requirements.txt.
  2. From the logs, it shows that pip is using a cached version of the module from somewhere, you should probably try the --no-cache-dir option.

Related Problems and Solutions