Tu je problém
Mám súbor requirements.txt, ktorý vyzerá takto:
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
...
Mám miestny archívny adresár, ktorý obsahuje všetky balíky + ďalšie.
Vytvoril som nové virtualenv s
bin/virtualenv testing
po jeho aktivácii som sa pokúsil nainštalovať balíky podľa requirements.txt z adresára lokálneho archívu.
source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/
Dostal som nejaký výstup, ktorý zrejme naznačuje, že inštalácia je v poriadku
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
....
Ale neskoršia kontrola odhalila, že žiadny z balíkov nie je nainštalovaný správne. Balík nemôžem importovať a v adresári site-packages v mojom virtualenv sa žiadny nenachádza. Čo sa teda pokazilo?
Prečítal som si vyššie uvedené, uvedomujem si, že je to stará otázka, ale je to úplne nevyriešené a stále na vrchole mojich výsledkov vyhľadávania Google, takže tu je odpoveď, ktorá funguje pre všetkých:
pip install -r /path/to/requirements.txt
Toto mi vyhovuje:
$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages
--no-index
- Ignorovať index balíka (namiesto toho sa pozerá len na adresy URL --find-links
).
-f, --find-links <URL>
- Ak je URL alebo cesta k html súboru, potom analyzuje odkazy na archívy.
Ak je to lokálna cesta alebo file://
URL, ktorá je adresárom, potom hľadajte archívy vo výpise adresárov.