Hvordan installere pakker ved hjelp av pip i henhold til filen requirements.txt fra en lokal katalog?

Her er problemet

Jeg har en requirements.txt som ser ut som:

BeautifulSoup==3.2.0
Django==1.3
Fabric==1.2.0
Jinja2==2.5.5
PyYAML==3.09
Pygments==1.4
SQLAlchemy==0.7.1
South==0.7.3
amqplib==0.6.1
anyjson==0.3
...

Jeg har en lokal arkivkatalog som inneholder alle pakkene + andre.

Jeg har opprettet en ny virtualenv med

bin/virtualenv testing

når jeg aktiverte den, prøvde jeg å installere pakkene i henhold til requirements.txt fra den lokale arkivkatalogen.

source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/

Jeg fikk noen utdata som ser ut til å indikere at installasjonen er fin

Downloading/unpacking Fabric==1.2.0 (from -r ../testing/requirements.txt (line 3))
  Running setup.py egg_info for package Fabric
    warning: no previously-included files matching '*' found under directory 'docs/_build'
    warning: no files found matching 'fabfile.py'
Downloading/unpacking South==0.7.3 (from -r ../testing/requirements.txt (line 8))
  Running setup.py egg_info for package South
....

Men senere sjekk avslørte at ingen av pakkene er riktig installert. Jeg kan ikke importere pakken, og ingen finnes i katalogen site-packages i virtualenv. Så hva gikk galt?

Jeg har lest det ovennevnte, innser at dette er et gammelt spørsmål, men det er helt uløst og fremdeles på toppen av Google-søkeresultatene mine, så her er et svar som fungerer for alle:

pip install -r /path/to/requirements.txt
Kommentarer (6)
Løsning

Dette fungerer for meg:

$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages

--no-index - Ignorer pakkeindeks (ser bare på --find-links nettadresser i stedet).

-f, --find-links - Hvis en URL eller bane til en html-fil, så analyser for lenker til arkiver. Hvis en lokal bane eller file:// URL som er en katalog, så se etter arkiver i katalogoppføringen.

Kommentarer (6)

For virtualenv å installere alle filene i filen requirements.txt.

  1. cd til katalogen der requirements.txt ligger.
  2. aktiver virtualenv
  3. kjør: pip install -r requirements.txt i skallet ditt.
Kommentarer (1)