Critical problem in PyCharm caused by the removal of "--build-dir" in 2020.3

Hi there! I'm a member of the PyCharm team, and we faced a rather critical issue with the release of pip 2020.3 (https://youtrack.jetbrains.com/issue/PY-45712). It turned out that we actually still used the "--build-dir" option in our internal scripts for installing packages through pip, and we completely missed the fact that it was deprecated. To make the matter worse, a few releases back we implemented automatic upgrading of packaging tools in all virtual environments created in the IDE, so now it's impossible to install anything in a new project unless pip is explicitly downgraded first. Judging by how pip now operates regarding building of packages, this option can be safely dropped in our wrappers, but we still need some time to prepare and test patches for a few previous releases and upcoming 2020.3. Is it possible to give us some time to soften the blow for the users? The second question is about the behavior of this option. It appears that we initially started using it because in the past packages were not built in a temporary directory by default. Could you please point me to the exact version of pip where it changed? -- I couldn't find it in a changelog. It would help us decide whether we need to keep some compatibility layer for interpreters with an old version of pip installed. Thanks a lot!

Hello, You want to raise the issue directly at the pip issue tracker, https://github.com/pypa/pip. This mailing list is reserved mostly for general packaging related topics. Thanks, On Mon, Nov 30, 2020 at 6:47 PM Mikhail Golubev via Distutils-SIG < distutils-sig@python.org> wrote:
Hi there!
I'm a member of the PyCharm team, and we faced a rather critical issue with the release of pip 2020.3 ( https://youtrack.jetbrains.com/issue/PY-45712). It turned out that we actually still used the "--build-dir" option in our internal scripts for installing packages through pip, and we completely missed the fact that it was deprecated. To make the matter worse, a few releases back we implemented automatic upgrading of packaging tools in all virtual environments created in the IDE, so now it's impossible to install anything in a new project unless pip is explicitly downgraded first.
Judging by how pip now operates regarding building of packages, this option can be safely dropped in our wrappers, but we still need some time to prepare and test patches for a few previous releases and upcoming 2020.3. Is it possible to give us some time to soften the blow for the users?
The second question is about the behavior of this option. It appears that we initially started using it because in the past packages were not built in a temporary directory by default. Could you please point me to the exact version of pip where it changed? -- I couldn't find it in a changelog. It would help us decide whether we need to keep some compatibility layer for interpreters with an old version of pip installed.
Thanks a lot! -- Distutils-SIG mailing list -- distutils-sig@python.org To unsubscribe send an email to distutils-sig-leave@python.org https://mail.python.org/mailman3/lists/distutils-sig.python.org/ Message archived at https://mail.python.org/archives/list/distutils-sig@python.org/message/6Z5DQ...

For anyone following along, there is an issue on pip's issue tracker now: https://github.com/pypa/pip/issues/9193 Mikhail, if you could hop over there to help coordinate on this, that'd be great!

On 01/12/2020, at 02:24, Mikhail Golubev via Distutils-SIG <distutils-sig@python.org> wrote:
The second question is about the behavior of this option. It appears that we initially started using it because in the past packages were not built in a temporary directory by default. Could you please point me to the exact version of pip where it changed? -- I couldn't find it in a changelog. It would help us decide whether we need to keep some compatibility layer for interpreters with an old version of pip installed.
It seems like this has been the case since 2014 (around pip 6.x), from reading https://github.com/pypa/pip/issues/906 -- Tzu-ping Chung (@uranusjr) uranusjr@gmail.com https://uranusjr.com

Thanks a lot for creating an issue for the case. Sorry, I couldn't have joined the discussion earlier.
It seems like this has been the case since 2014 (around pip 6.x), from reading https://github.com/pypa/pip/issues/906
Huh, thanks. If it was changed that long ago, then I guess we can safely drop "--build-dir", and that will be it. But let's continue on Github :) On Tue, Dec 1, 2020 at 2:38 PM Tzu-ping Chung <uranusjr@gmail.com> wrote:
On 01/12/2020, at 02:24, Mikhail Golubev via Distutils-SIG < distutils-sig@python.org> wrote:
The second question is about the behavior of this option. It appears that we initially started using it because in the past packages were not built in a temporary directory by default. Could you please point me to the exact version of pip where it changed? -- I couldn't find it in a changelog. It would help us decide whether we need to keep some compatibility layer for interpreters with an old version of pip installed.
It seems like this has been the case since 2014 (around pip 6.x), from reading https://github.com/pypa/pip/issues/906
-- Tzu-ping Chung (@uranusjr) uranusjr@gmail.com https://uranusjr.com
-- Mikhail Golubev Software Developer JetBrains http://www.jetbrains.com The drive to develop
participants (4)
-
Bernat Gabor
-
Mikhail Golubev
-
Pradyun Gedam
-
Tzu-ping Chung