Closed amirouche closed 6 years ago
Hmmmm interesting. Pipenv already installs things in parallel so can you clarify whether you are performing additional parallellization? We have a lot of reasons for not respecting pip’s cache options, and as a a side note you may be better served using an actual PyPI mirroring tool like devpi or bandersnatch.
Ooh I just read your script. Interesting!
Hm I should point out we don't actually use pip's cache, so simply telling pip not to cache things isn't actually going to do anything here. In any case, caches don't live in your virtualenv... and it doesn't seem like this is something that depends on anything we can have any substantive impact on. Thanks for the report and good luck!
While trying to build a dataset of pypi packages (I know it's not safe etc...), I have hit the exception
CorruptCacheError
. This happens because Ipipenv install
things in parallel.The worst in this story, is that I use the following environment variables:
The
PIP_NO_CACHE_DIR
is not respected AFAIU since the above exception is raised. It's prolly not the exact semantics of that env variable but it not expected at all.Also, the other env var
PIPENV_VENV_IN_PROJECT
imply to me that everything happens in the.venv
which is clearly not the case.To workaround it, I lookup where that cache is used in pipenv:
And I replaced the
read_cache
-fu with an emptydict
everything seems to work (I also silenced thewrite_cache
method from the same files).I used this program in parallel to raise the issue.