Как установить пакеты с помощью pip в соответствии с файлом essiments.txt из локального каталога?

Вот проблема

У меня есть требования.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

после активации я попытался установить пакеты в соответствии с требованиями.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
....

Но позже проверка показала, что ни один из пакетов не установлен должным образом. Я не могу импортировать пакет, и ни один не найден в каталоге пакетов сайтов моего virtualenv. Так что пошло не так?

Комментарии к вопросу (8)

Я прочитал выше, понимаю, что это старый вопрос, но он полностью не решен и все еще находится на вершине моих результатов поиска в Google, так что вот ответ, который работает для всех:

pip install -r /path/to/requirements.txt
Комментарии (6)
Решение

Это работает для меня

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

--no-index - игнорировать индекс пакета (вместо этого просматривайте только URL-адреса --find-links).

-f, --find-links < URL >- Если URL-адрес или путь к html-файлу, то проанализируйте ссылки на архивы. Если локальный путь или URL-адрес file: // является каталогом, найдите архивы в списке каталогов.

Комментарии (6)

Для virtualenv установить все файлы в файл essions.txt.

  1. cd в каталог, где находится processions.txt
  2. активируйте свой virtualenv
  3. запустить: pip install -r essiments.txt в вашей оболочке
Комментарии (1)

У меня была похожая проблема. Я попробовал это:

pip install -U -r requirements.txt 
  • (-U = обновить, если он уже установлен) *

Но проблема продолжалась. Я понял, что некоторые из общих библиотек для разработки были пропущены.

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

Я не знаю, поможет ли это вам.

Комментарии (0)
pip install -r requirements.txt

Для получения более подробной информации, пожалуйста, проверьте опцию помощи.

pip install --help

Мы можем найти опцию '-r'

-r, --requirement < file > Установите из данного файла требований. Эта опция может быть используется несколько раз.

Дополнительная информация о некоторых часто используемых параметрах установки pip: (Это опция справки в команде установки pip)

Также выше полный набор опций. Пожалуйста, используйте pip install --help для полного списка вариантов.

Комментарии (1)

Часто вам понадобится быстрая установка из локальных архивов, без проверки PyPI

Сначала загрузите архивы, которые соответствуют вашим требованиям:

$ pip install --download  -r requirements.txt

Затем установите –find-links и –no-index:

$ pip install --no-index --find-links=[file://] -r requirements.txt
Комментарии (0)

Краткий ответ

pip install -r /path/to/requirements.txt

или в другой форме:

python -m pip install -r /path/to/requirements.txt

Объяснение

Здесь -r является короткой формой --requirement и просит pip установить из данного файла requirements.

pip начнет установку только после проверки доступности всех перечисленных элементов в файле requirements и не начнет установку, даже если одно requirement недоступно.

Один обходной путь для установки доступных пакетов - установка перечисленных пакетов один за другим. Используйте следующую команду для этого. Будет показано предупреждение красного цвета, чтобы уведомить вас о недоступных пакетах.

cat requirements.txt | xargs -n 1 pip install

Чтобы игнорировать комментарии (строки начинаются с #) и пустые строки, используйте:

cat requirements.txt | cut -f1 -d"#" | sed '/^\s*$/d' | xargs -n 1 pip install
Комментарии (0)

Я работаю со многими системами, которые были испорчены разработчиками «следуя указаниям, которые они нашли в Интернете». Чрезвычайно распространено, что ваш pip и ваш python не смотрят на одни и те же пути / пакеты сайтов. По этой причине, когда я сталкиваюсь со странностью, я начинаю с этого:

$ python -c 'import sys; print(sys.path)'
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages']

$ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)

Это счастливая система .

Ниже приведена несчастная система . (Или, по крайней мере, это блаженно невежественная система, которая заставляет других быть несчастными.)

$ pip --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)

$ python -c 'import sys; print(sys.path)'
['', '/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']

$ which pip pip2 pip3
/usr/local/bin/pip
/usr/local/bin/pip3

Это неудовлетворительно , потому что pip (python3.6 и) использует /usr/local/lib/python3.6/site-packages, а python (python2.7 и) использует / usr / local / lib / python2.7 / site-packages

Когда я хочу убедиться, что устанавливаю требования к правому питону, я делаю это:

$ which -a python python2 python3
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python2
/usr/local/bin/python3

$ /usr/bin/python -m pip install -r requirements.txt

Вы слышали: «Если это не сломано, не пытайтесь это исправить.«Версия DevOps:« Если вы не сломали его и можете обойти его, не пытайтесь это исправить.«

Комментарии (0)

Установка файла essions.txt в виртуальной среде с помощью python 3:

У меня была такая же проблема. Я пытался установить файл essions.txt в виртуальной среде. Я нашел решение.

Первоначально я создал свою виртуальную среду таким образом:

virtualenv -p python3 myenv

Активируйте среду, используя:

source myenv/bin/activate

Теперь я установил essions.txt, используя:

pip3 install -r requirements.txt

Установка прошла успешно, и я смог импортировать модули.

Комментарии (3)

попробуй это

python -m pip install -r requirements.txt
Комментарии (1)

прежде всего создать виртуальную среду

в питоне 3.6

virtualenv --python=/usr/bin/python3.6 <path/to/new/virtualenv/>

в питоне 2.7

virtualenv --python=/usr/bin/python2.7 <path/to/new/virtualenv/>

затем установите все пакеты, доступные в файле industriance.txt.

pip install -r <path/to/the/> requirement.txt
Комментарии (1)
pip install --user -r requirements.txt 

ИЛИ

pip3 install --user -r requirements.txt 
Комментарии (0)