Проблема полягає ось у чому
У мене є файл requirements.txt, який має вигляд:
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
...
У мене є локальний каталог архіву, який містить всі пакунки + інші.
Я створив новий virtualenv з
bin/virtualenv testing
після його активації спробував встановити пакунки згідно з файлом requirements.txt з локального каталогу архіву.
source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/
Я отримав деякі результати, які, здається, вказують на те, що установка пройшла нормально
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
....
Але подальша перевірка показала, що жоден з пакунків не встановлено належним чином. Я не можу імпортувати пакет, і жоден з них не знайдено в каталозі site-packages мого virtualenv. Так що ж пішло не так?
Я прочитав вище, розумію, що це старе питання, але воно абсолютно невирішене і все ще знаходиться у верхній частині моїх результатів пошуку в Google, тому ось відповідь, яка працює для всіх:
pip install -r /path/to/requirements.txt
Мені це підходить:
$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages
--no-index
- ігнорувати індекс пакунків (натомість переглядати лише URL-адреси --find-links
).
-f, --find-links <URL>
- Якщо URL або шлях до html-файлу, то шукати посилання на архіви.
Якщо локальний шлях або file://
URL, який є каталогом, то шукати архіви в списку каталогів.
Для virtualenv встановити всі файли у файлі requirements.txt.
pip install -r requirements.txt
у вашій оболонці