Показаны сообщения с ярлыком pip. Показать все сообщения
Показаны сообщения с ярлыком pip. Показать все сообщения

среда, 17 января 2024 г.

Configuration error - kwargs_from_env() got an unexpected keyword argument 'ssl_version'

 При деплое (у меня ansible + docker compose) можно поймать ошибку из заголовка, причина проста: пип версия 7.0.0 пакета docker - битая, но всем класть.

Фикс - явно пишем версию docker==6.1.3

https://github.com/geerlingguy/internet-pi/issues/567

https://github.com/docker/docker-py/issues/3194

среда, 27 сентября 2023 г.

pip в защищённых контурах

 Если есть локальный прокси

python3 -m pip install --index-url http://my.package.repo/simple/ SomeProject

Если полностью изолированный контур, шагов будет больше
1) python -m pip download --destination-directory DIR -r requirements.txt
есть нюанс, читаем линк ниже, тогда:
python -m pip wheel --wheel-dir DIR -r requirements.txt

2) Переносим проект и DIR на изолированную машину

3) python -m pip install --no-index --find-links=DIR -r requirements.txt

Есть вариант через venv, но там много нюансов, начиная с того что с машины с маком на машину с убунтой - из коробки не заработает, там в том числе разные пути в bin и конфиге.

среда, 15 февраля 2023 г.

python3: ubuntu 16 и ошибки про docker

Проблемы только на Ubuntu16 и ниже.

apt install -y python3-pip

pip3 install --upgrade pip

После предыдущего шага pip сломается, нужно переустановить из скрипта

curl https://bootstrap.pypa.io/pip/3.5/get-pip.py -o get-pip.py; python3 get-pip.py --force-reinstall

Нужно переподключиться, чтобы подтянулись новые енвы.

pip3 install --upgrade --force-reinstall docker

pip3 install docker-compose

Если на предыдущем шаге ломается с ошибкой установки cffi : "fatal error: ffi.h: No such file or directory"

apt install libffi-dev

еще раз: 

pip3 install docker-compose

понедельник, 25 марта 2019 г.

debian wheezy: Cannot fetch index base URL http://pypi.python.org/simple/

https://stackoverflow.com/questions/21294997/pip-connection-failure-cannot-fetch-index-base-url-http-pypi-python-org-simpl

Когда пытаемся сделать yum install python-pip; pip install --updrade pip то получаем
Cannot fetch index base URL http://pypi.python.org/simple/

Фикс:  pip install --index-url=https://pypi.python.org/simple/ --upgrade pip
(внимание на https://)

четверг, 22 декабря 2016 г.

Используем кэш для pip, npm, bower

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

pip

cat >> ~/.pip/pip.conf << EOF
[global]
download_cache = ~/.cache/pip
EOF
mkdir -p ~/.cache/pip

Для более старых версий есть опция --download-cache <dir>, которую надо указать дополнительно -  в новых она активна по умолчанию. Отключать через --no-cache-dir

Также есть вариант через промежуточный wheel
pip wheel --wheel-dir=/tmp/wheelhouse cssselect==0.9.1
pip install /tmp/wheelhouse/cssselect-0.9.1-py2-none-any.whl

И попадались упоминания переменной PIP_DOWNLOAD_CACHE

npm

npm config set cache ~/.cache/npm
mkdir -p ~/.cache/npm
mv ~/.npm/* ~/.cache/npm/
rm -rf ~/.npm/


bower
cat >> ~/.bowerrc << EOF
{
  "cache": "$HOME/.cache/bower/"
}
EOF
mkdir -p ~/.cache/bower

links
https://pip.pypa.io/en/latest/reference/pip_install/#caching
https://blog.samat.org/2014/12/01/setting-up-package-caching-for-pip-and-npm/

вторник, 9 августа 2016 г.

python: Собираем свой пакет из pip версии

Зачастую в пакетах лежит нужная библиотека, но отставшая от нужной версии года так на 3-4. Или вообще доступная только в pip.
Самый простой вариант это использовать библиотеку из pip. К сожалению, у pip нет "собранных" версий, поэтому на хосте тогда нужен компилятор, что многим неприемлемо для "боевых" сред. И в целом это разумно.
Хороший выход - используем ноду для сборки и собираем там virtualenv с нужными пакетами. А потом итог оборачиваем в пакет (пишем спеку). Также это может быть докер, но опять же - туда нужен компилятор... И опять возвращаемся к virtualenv. Впрочем, для простых либ и единообразной среды достаточно скопировать нужные файлы в SOURCES и раскидать их по местам установщиком пакета, более сложные либы лучше пакетировать раздельно. Если уже есть такая же старая либа --  всё просто, качаем .src.rpm, правим .spec под новую версию, подкладываем архив с новыми исходниками, собираем.
А может быть, что за основу взять нечего... Тогда можно взять например python-pika, скопировать его spec и начать правки.
Нужно скачать архив нужной версии, для примера сделаем пакет для couchbase. Работаем от обычного пользователя, который будет заниматься сборкой