After update to pip 10 I get: Cache entry deserialization failed, entry ignored
Cecil Westerhof
Cecil at decebal.nl
Thu Apr 26 11:25:24 EDT 2018
tartley at gmail.com writes:
> On Wednesday, April 18, 2018 at 1:59:14 AM UTC-5, Cecil Westerhof wrote:
>> After I updated pip2/3 to 10 from 9 I sometimes get:
>> Cache entry deserialization failed, entry ignored
>>
>> For example when I execute:
>> pip3 list --outdated
>>
>> But not always.
>>
>> What could be happening here? And how would I solve this?
>>
>> --
>> Cecil Westerhof
>> Senior Software Engineer
>> LinkedIn: http://www.linkedin.com/in/cecilwesterhof
>
> It sounds like there's a bug in pip10 that makes the cache entries use a different format for Python2 versus Python3.
> https://github.com/pypa/pip/issues/5250
I have seen that, but that did not work in my case.
> So either:
>
> * erase your cache directory. On *nix it's ~/.cache/pip.
That would make the usage of cache superfluous and I am wondering if
that is really the issue. See reply below.
> or
>
> * run pip with --no-cache-dir
Tried this, but it did not work.
> or
>
> * run pip with --cache-dir=X to set a different cache dir for Python2 vs Python3.
>
> or
>
> * await a pip10 bugfix?
For the moment I do in my (tcl) script:
while {[catch ${command} errorStr opts]} {
incr errors
if {${debug}} {
puts ------------------------------------------------------------
puts ${opts}
puts ------------------------------------------------------------
}
if {${errors} >= ${maxTries}} {
error "Could not get ${pip} information with ${errors} tries"
}
}
There is not always a problem and if there is a problem it is never
more as once. (Till now.)
I use command because I do it for pip2 and pip3.
It is filled with:
# First 2 lines are a header
set command {set outdated \
[lrange \
[split [exec ${pip} list --outdated] \n] \
2 end]}
And pip is pip2 or pip3.
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
More information about the Python-list
mailing list