Вот проблема
У меня есть файл require.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
активировав его, я попытался установить пакеты в соответствии с require.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. Так что пошло не так?
python
virtualenv
pip
kakarukeys
источник
источник
--no-index
чтобы он даже не смотрел на PyPI?Ответы:
Это работает для меня:
--no-index
- Игнорировать индекс пакета (--find-links
вместо просмотра только URL).-f, --find-links <URL>
- Если URL или путь к html-файлу, то разберите ссылки на архивы. Если локальный путь илиfile://
URL - это каталог, ищите архивы в списке каталогов.источник
--no-index
из команды pip поможет установить--no-index
Игнорировать индекс пакета (--find-links
вместо просмотра только URL). Информация--find-links
из команды pip help install-f
,--find-links <url>
если url или путь к html-файлу, то анализируют ссылки на архивы. Если локальный путь или файл: // url - это каталог, ищите архивы в списке каталогов.pip install <some_module>
без использования,requirements.txt
но это не будет обновлятьrequirements.txt
. Альтернативой может быть обновление докера так, чтобы он перечислял все команды установки pip, которые запускаются для установки зависимостей.python -m pip install -r requirements.txt
когда в активированной среде venv. все установлено гладко, но когда я делаю список пипсов, он не показывает эти пакеты, когда я нахожусь в активном venv или даже после деактивации venv. также не может использовать эти пакеты. не знаю, что здесь не такpython
что ссылаетесь на исполняемый файл python активированной среды ($ which python
)?Я прочитал выше, понимаю, что это старый вопрос, но он полностью не решен и все еще находится в верхней части моих результатов поиска в Google, так что вот ответ, который работает для всех:
источник
pip install -r /path/to/requirements.txt
. Это обнаруживает изменение, обновляет пакет и оставляет все остальное в покое.requirements.txt
, ни один из них не будет установлен. Если требуемый модуль импортирует зависимость во время установки (вместо того, чтобы просто указать ее как требование), он потерпит неудачу, даже если зависимость предшествует ему в списке зависимостей, что приведет к сбою всех модулей. Вероятно, ошибка при импорте зависимого модуля во время установки, но также неожиданно, что перечисленные зависимостиrequirements.txt
не устанавливаются последовательно, а сразу.Для virtualenv необходимо установить все файлы в файл needs.txt.
pip install -r requirements.txt
в вашей оболочкеисточник
У меня была аналогичная проблема. Я попробовал это:
(-U = обновить, если он уже установлен)
Но проблема продолжалась. Я понял, что некоторые из общих библиотек для разработки были упущены.
Я не знаю, поможет ли это тебе.
источник
Для получения более подробной информации, пожалуйста, проверьте вариант справки.
Мы можем найти опцию '-r'
Дополнительная информация о некоторых часто используемых опциях установки pip: (Это опция справки в команде pip install)
Также выше приведен полный набор опций. Пожалуйста, используйте pip install --help для получения полного списка опций.
источник
Короткий ответ
или в другой форме:
объяснение
Вот
-r
краткая форма,--requirement
и он проситpip
установить из данногоrequirements
файла.pip
начнет установку только после проверки наличия всех перечисленных элементов вrequirements
файле и не начнет установку, даже если один изrequirement
них недоступен.Одним из обходных путей для установки доступных пакетов является установка перечисленных пакетов по одному. Используйте следующую команду для этого. Появится предупреждение красного цвета, чтобы уведомить вас о недоступных пакетах.
Чтобы игнорировать комментарии (строки, начинающиеся с a
#
) и пустые строки, используйте:источник
Часто вам понадобится быстрая установка из локальных архивов без проверки PyPI.
Сначала загрузите архивы, которые соответствуют вашим требованиям:
Затем установите с помощью
–find-links
и–no-index
:источник
no such option: --download
Я работаю со многими системами, которые были взломаны разработчиками, «следуя указаниям, которые они нашли в Интернете». Крайне распространено, что вы
pip
и выpython
не смотрите на одни и те же пути / пакеты сайтов. По этой причине, когда я сталкиваюсь со странностью, я начинаю с этого:Это счастливая система .
Ниже приведена несчастная система . (Или, по крайней мере, это блаженно невежественная система, которая заставляет других быть несчастными.)
Это печально, потому что
pip
(python3.6 and) использует/usr/local/lib/python3.6/site-packages
whilepython
is (python2.7 and) using/usr/local/lib/python2.7/site-packages
Когда я хочу убедиться, что я устанавливаю требования к правильному питону, я делаю это:
Вы слышали: «Если это не сломано, не пытайтесь это исправить». Версия DevOps гласит: «Если вы не сломали его и можете обойти его, не пытайтесь это исправить».
источник
прежде всего, создать виртуальную среду
в питоне 3.6
в питоне 2.7
затем активируйте среду и установите все пакеты, доступные в файле require.txt.
источник
Установка файла needs.txt в виртуальной среде с Python 3:
Я была такая же проблема. Я пытался установить файл needs.txt в виртуальной среде. Я нашел решение.
Первоначально я создал свою виртуальную среду таким образом:
Активируйте среду, используя:
Теперь я установил файл require.txt, используя:
Установка прошла успешно, и я смог импортировать модули.
источник
virtualenv -p python myenv
,myenv\Scripts\activate.bat
,pip install -r requirements.txt
requirements.txt
virtualenv. Если я что-то упустил? В любом случае, спасибо!попробуй это
источник
ИЛИ
источник
--user
внутриrequirements.txt
файла?