Yerel bir dizinden requirements.txt dosyasına göre pip kullanarak paketler nasıl kurulur?

İşte sorunumuz

Şuna benzeyen bir requirements.txt dosyam var:

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
...

Tüm paketleri ve diğerlerini içeren yerel bir arşiv dizinim var.

ile yeni bir virtualenv oluşturdum

bin/virtualenv testing

Etkinleştirdikten sonra, yerel arşiv dizininden requirements.txt'ye göre paketleri yüklemeye çalıştım.

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

Kurulumun iyi olduğunu gösteren bazı çıktılar aldım

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
....

Ancak daha sonra yapılan kontrolde paketlerin hiçbirinin düzgün yüklenmediği görüldü. Paketi içe aktaramıyorum ve virtualenv'imin site-packages dizininde hiçbiri bulunmuyor. Peki ne yanlış gitti?

Yukarıdakileri okudum, bunun eski bir soru olduğunun farkındayım, ancak tamamen çözülmemiş ve hala google arama sonuçlarımın en üstünde yer alıyor, bu yüzden işte herkes için işe yarayan bir cevap:

pip install -r /path/to/requirements.txt
Yorumlar (6)
Çözüm

Bu bende işe yarıyor:

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

--no-index - Paket dizinini yoksay (bunun yerine yalnızca --find-links URL'lerine bak).

-f, --find-links - Bir URL veya html dosyasına giden yol ise, arşivlere giden bağlantılar için ayrıştırma yapar. Yerel bir yol veya bir dizin olan file:// URL'si ise, dizin listesinde arşivleri arayın.

Yorumlar (6)

virtualenv'nin requirements.txt dosyasındaki tüm dosyaları yüklemesi için.

  1. requirements.txt dosyasının bulunduğu dizine gidin
  2. virtualenv'inizi etkinleştirin
  3. Koş: Kabuğunuzda pip install -r requirements.txt komutunu çalıştırın
Yorumlar (1)