Я только что загрузил новую версию своего пакета в PyPi (1.2.1.0-r4): я могу загрузить файл яйца и установить его с помощью easy_install, и версия будет проверена правильно. Но когда я пытаюсь установить с помощью pip, вместо этого устанавливается версия 1.1.0.0. Даже если я явно укажу версию, которую нужно использовать pip install -Iv tome==1.2.1.0-r4
, я получаю это сообщение:, Requested tome==1.2.1.0-r4, but installing version 1.1.0.0
но я не понимаю почему.
Я дважды проверил parse_version
и подтвердил, что строка версии в 1.2.1 больше, чем в 1.1.0, как показано:
>>> from pkg_resources import parse_version as pv
>>> pv('1.1.0.0') < pv('1.2.1.0-r4')
True
>>>
Итак, есть идеи, почему вместо этого он решил установить 1.1.0?
python
pip
setuptools
Brianmearns
источник
источник
pip install -Iv tome==1.2.1.0-r4
устанавливается для меня (согласно сообщениям иpip freeze
пакетуtome==1.2.1.0-r4
.-U
Ответы:
Это отличный вопрос. Мне потребовалась целая вечность, чтобы понять. Это решение, которое мне подходит:
Видимо, если
pip
удастся найти локальную версию пакета,pip
предпочтет локальные версии удаленным. Я даже отключил свой компьютер от Интернета и попробовал еще раз - когдаpip
все еще успешно установил пакет и даже не жаловался, источник явно был локальным.В моем случае действительно сбивала
pip
с толку то , что я нашел более новые версии на pypi , сообщил о них, а затем все равно переустановил старую версию ... arggh. Кроме того, он не сказал мне, что он делал и почему.Итак, как я решил эту проблему?
Вы можете получить
pip
подробный вывод, используя-v
флаг ... но одного недостаточно. Я RTFM-редактировал справку, в которой говорилось, что вы можете делать-v
несколько раз, до 3 раз, для более подробного вывода. Так я и сделал:Потом просмотрел вывод. Мое внимание привлекла одна строчка:
Я удалил этот каталог, после чего
pip
установил последнюю версию из pypi.источник
-vvv
вместо-v -v -v
.--no-cache-dir
флаг вместо поиска и удаления файла в/tmp/
.Попробуйте снова принудительно загрузить пакет с помощью:
pip install --no-cache-dir --upgrade <package>
источник
pip search
более новая.Благодаря Маркусу Смиту , который проделал потрясающую работу по обслуживанию pip, это было исправлено в версии 1.4 pip, выпущенной 23.07.2013.
Соответствующая информация из журнала изменений для этой версии
источник
pip install -U pip
Я обнаружил здесь известную ошибку в pip, что он не будет проверять версию, если есть каталог сборки с распакованными источниками. Я проверил это в своем проблемном пакете, и после удаления его источников из каталога сборки pip установил требуемую версию.
источник
Если вы используете
pip
версию, которая поставляется с некоторыми пакетами распространения (например, Ubuntu python-pip), вам может потребоваться установить более новуюpip
версию:Обновить
pip
до последней версии:sudo pip install -U pip
В случае "virtualenv" пропустите "sudo":
pip install -U pip
Следующая команда может потребоваться, если ваша оболочка сообщает что-то вроде
-bash: /usr/bin/pip: No such file or directory
послеpip
обновления:hash -d pip
Теперь установите ваш пакет как обычно:
pip install -U foo
или же
pip install foo==package.version.here
источник
Получил ту же проблему, чтобы обновить pika 0.9.5 до 0.9.8. Единственный рабочий способ был установить из архива:
pip install https://pypi.python.org/packages/source/p/pika/pika-0.9.8.tar.gz
.источник
В моем случае мне пришлось удалить
.pip
папку в моем домашнем каталоге, после чего я смог получить более поздние версии нескольких библиотек. Обратите внимание, что это было на Linux.pip --version pip 18.1 from /usr/lib/python2.7/site-packages/pip (python 2.7) virtualenv --version 15.1.0
источник
Я обнаружил, что если вы используете микроверсии, pip их не распознает. Например, нам не удалось обновить версию 1.9.9.1.
источник
В моем случае используемая версия python (3.4) не удовлетворяла требованиям зависимостей Django 2.1 (python> = 3.5).
источник
В моем случае я устанавливаю пакет .tar.gz из Artifactory, в который я делаю много обновлений. Чтобы перезаписать мои кешированные файлы Python и всегда загружать / устанавливать последнюю версию, которую я смог запустить:
pip install --no-cache-dir --force-reinstall <path/to/tar.gz>
Вы должны увидеть, как это повторно загрузит все необходимые файлы и установит их вместо использования локального кеша.
источник
В моем случае, кто - то опубликовал последнюю версию пакета с python2, поэтому попытка
pip3 install
его схватил старую версию , которая была была построена с Python3.Полезные вещи, которые нужно проверить при отладке:
pip install
утверждает, что не может найти версию, посмотрите,pip search
можно ли ее увидеть.-py2-
там все ясно).pip install --no-cache-dir
если pip не пытается спросить в Интернете, потому что у него уже есть ваш ответ локально.источник
Я спрятал неверсированные файлы на вкладке Git в PyCharm, которые устанавливались,
pip install .
хотя я не видел их больше нигде.Мне потребовалось много времени, чтобы найти его, я разместил это в надежде, что это поможет кому-то другому.
источник
На всякий случай, если у кого-то еще возникнут проблемы с обновлением torchtext (или, возможно, любой другой
torch
библиотеки):Хотя https://pypi.org/project/torchtext/ заявляет, что вы можете запускать,
pip install torchtext
мне пришлось установить его аналогичноtorch
, указав--find-links
aka-f
:pip install torchtext===0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
Что меня раздражало, так это то, что PyCharm указал мне на новую версию, но не смог найти ее при попытке перейти на нее. Я предполагаю, что PyCharm использует свой собственный механизм для обнаружения новых версий. Затем, при вызове
pip
под капотом, он не нашел новую версию без--find-links
опции.источник