TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Python Pip 20.3 Released with new resolver

224 pointsby groodtover 4 years ago

21 comments

dalemyersover 4 years ago
If anyone hasn&#x27;t seen it, now is a good time to look at <a href="https:&#x2F;&#x2F;python-poetry.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;python-poetry.org&#x2F;</a> It is rapidly becoming _the_ package manager to use. I&#x27;ve used it in a bunch of personal and professional projects with zero issues. It&#x27;s been rock solid so far, and I&#x27;m definitely a massive fan.
评论 #25255536 未加载
评论 #25255530 未加载
评论 #25255751 未加载
评论 #25263603 未加载
评论 #25256706 未加载
评论 #25256315 未加载
评论 #25257904 未加载
评论 #25269157 未加载
st1x7over 4 years ago
It&#x27;s impressive how my pip version seems to always be out of date.
评论 #25254179 未加载
评论 #25253749 未加载
评论 #25253599 未加载
评论 #25253812 未加载
tgbover 4 years ago
The release notes are here [1] and I assume the reason this is being posted is because of:<p>&gt; The new resolver now resolves packages in a deterministic order. (<a href="https:&#x2F;&#x2F;github.com&#x2F;pypa&#x2F;pip&#x2F;pull&#x2F;9100" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;pypa&#x2F;pip&#x2F;pull&#x2F;9100</a>)<p>[1] <a href="https:&#x2F;&#x2F;pip.pypa.io&#x2F;en&#x2F;stable&#x2F;news&#x2F;#id1" rel="nofollow">https:&#x2F;&#x2F;pip.pypa.io&#x2F;en&#x2F;stable&#x2F;news&#x2F;#id1</a>
评论 #25253746 未加载
评论 #25253614 未加载
muglugover 4 years ago
Here&#x27;s a longer article about the resolver: <a href="https:&#x2F;&#x2F;pyfound.blogspot.com&#x2F;2020&#x2F;03&#x2F;new-pip-resolver-to-roll-out-this-year.html" rel="nofollow">https:&#x2F;&#x2F;pyfound.blogspot.com&#x2F;2020&#x2F;03&#x2F;new-pip-resolver-to-rol...</a>
Chico75over 4 years ago
So if I understand correctly, pip will now install the list of packages in the same order instead of choosing randomly, so that when there are version conflicts, you always get the same result?<p>I&#x27;m surprised I never ran into the issue, but I suppose it mainly show up if you have a large number of dependencies?
评论 #25254697 未加载
评论 #25258993 未加载
cosmic_quantaover 4 years ago
It&#x27;s not super relevant, but I was poking around their CI infrastructure, and I noted the use of a temporary RAM disk to speed-up tests:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;pypa&#x2F;pip&#x2F;blob&#x2F;master&#x2F;.azure-pipelines&#x2F;scripts&#x2F;New-RAMDisk.ps1" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;pypa&#x2F;pip&#x2F;blob&#x2F;master&#x2F;.azure-pipelines&#x2F;scr...</a><p>I&#x27;m very surprised. Is this common?
评论 #25254691 未加载
评论 #25254112 未加载
评论 #25253943 未加载
评论 #25260729 未加载
评论 #25253941 未加载
评论 #25257181 未加载
评论 #25256053 未加载
mhxionover 4 years ago
Also maybe worth mentioning the PyPI team has 1-to-1 UX feedback&#x2F;study for `pip` <a href="https:&#x2F;&#x2F;www.ei8fdb.org&#x2F;thoughts&#x2F;2020&#x2F;03&#x2F;pip-ux-study-recruitment&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.ei8fdb.org&#x2F;thoughts&#x2F;2020&#x2F;03&#x2F;pip-ux-study-recruit...</a>. I&#x27;d be more interested opting in for open web survey (question and answer field) though. Nevertheless, great to see they&#x27;re open to user feedback in forms other than Git issues.
评论 #25263916 未加载
colechristensenover 4 years ago
Your package manager should be boring, extremely backward and forward compatible, and never broken. Experience has shown this not to be true for python. Several times over the years i’ve found myself, pinning, upgrading, downgrading, or otherwise juggling versions of setuptools and pip in order to work around some bug. Historically I have had far more problems with the machinery to install python packages I have had with all of the other python packages being installed combined, and that is absurd.
评论 #25256672 未加载
评论 #25255637 未加载
评论 #25255521 未加载
评论 #25256385 未加载
评论 #25257423 未加载
评论 #25262067 未加载
评论 #25257368 未加载
评论 #25256862 未加载
评论 #25256183 未加载
评论 #25256016 未加载
misnomeover 4 years ago
Since this pull isn’t very helpful, the NEWS file with what’s changed is at <a href="https:&#x2F;&#x2F;github.com&#x2F;pypa&#x2F;pip&#x2F;blob&#x2F;master&#x2F;NEWS.rst#203-2020-11-30" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;pypa&#x2F;pip&#x2F;blob&#x2F;master&#x2F;NEWS.rst#203-2020-11...</a>
评论 #25253612 未加载
groodtover 4 years ago
Seen a few mentions of poetry. Not many for pip-tools which has been around longer, is less opinionated and has many of the same benefits <a href="https:&#x2F;&#x2F;github.com&#x2F;jazzband&#x2F;pip-tools" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jazzband&#x2F;pip-tools</a>
评论 #25258492 未加载
Mlllerover 4 years ago
IME, pip and its inclusion in python installations made a great and very positive difference for using Python on Windows: before, third-party installations mostly (sic) didn’t succeed; after, they almost always succeed. I’m grateful.
devyover 4 years ago
Hynek, a CPython committer, had written a blog post[1] the state of Python application dependencies in 2018, updated in 2019 (no change in 2020, I asked). It was also surfaced on HN 3 times but did not get much attention[2]<p>[1]: <a href="https:&#x2F;&#x2F;hynek.me&#x2F;articles&#x2F;python-app-deps-2018&#x2F;#petry" rel="nofollow">https:&#x2F;&#x2F;hynek.me&#x2F;articles&#x2F;python-app-deps-2018&#x2F;#petry</a><p>[2]: <a href="https:&#x2F;&#x2F;hn.algolia.com&#x2F;?q=python-app-deps-2018" rel="nofollow">https:&#x2F;&#x2F;hn.algolia.com&#x2F;?q=python-app-deps-2018</a>
jdeibeleover 4 years ago
pip-review works great for keeping packages up to date.<p><a href="https:&#x2F;&#x2F;pypi.org&#x2F;project&#x2F;pip-review&#x2F;" rel="nofollow">https:&#x2F;&#x2F;pypi.org&#x2F;project&#x2F;pip-review&#x2F;</a><p>&gt; pip-review Faker==4.18.0 is available (you have 4.17.1) pip==20.3 is available (you have 20.2.4)<p>&gt; pip-review --auto --verbose Collecting Faker==4.18.0 Downloading Faker-4.18.0-py3-none-any.whl (1.1 MB) || 1.1 MB 730 kB&#x2F;s Collecting pip==20.3 Downloading pip-20.3-py2.py3-none-any.whl (1.5 MB) || 1.5 MB 2.0 MB&#x2F;s Requirement already satisfied: python-dateutil&gt;=2.4 in &#x2F;usr&#x2F;local&#x2F;lib&#x2F;python3.8&#x2F;site-packages (from Faker==4.18.0) (2.8.1) Requirement already satisfied: text-unidecode==1.3 in &#x2F;usr&#x2F;local&#x2F;lib&#x2F;python3.8&#x2F;site-packages (from Faker==4.18.0) (1.3) Requirement already satisfied: six&gt;=1.5 in &#x2F;usr&#x2F;local&#x2F;lib&#x2F;python3.8&#x2F;site-packages (from python-dateutil&gt;=2.4-&gt;Faker==4.18.0) (1.15.0) Installing collected packages: Faker, pip Attempting uninstall: Faker Found existing installation: Faker 4.17.1 Uninstalling Faker-4.17.1: Successfully uninstalled Faker-4.17.1 Attempting uninstall: pip Found existing installation: pip 20.2.4 Uninstalling pip-20.2.4: Successfully uninstalled pip-20.2.4 ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.<p>We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.<p>lektor 3.2.0 requires Werkzeug&lt;1, but you&#x27;ll have werkzeug 1.0.1 which is incompatible. Successfully installed Faker-4.18.0 pip-20.3
wokwokwokover 4 years ago
new version of rust comes out.<p>me: ooo... new shiny toys.<p>new version of pip comes out. again.<p>me: :( this will probably break something. again.<p>I now just tell people to use conda.
评论 #25255104 未加载
评论 #25254616 未加载
评论 #25255820 未加载
评论 #25272651 未加载
thijsvandienover 4 years ago
Yay! I already got tired of typing <i>--use-feature=2020-resolver</i>.<p>With this, it&#x27;s a lot easier to upgrade everything without getting conflicts: <i>pip freeze | cut -d= -f1 | xargs pip install --upgrade</i>.
dangover 4 years ago
We changed the URL from <a href="https:&#x2F;&#x2F;github.com&#x2F;pypa&#x2F;pip&#x2F;pull&#x2F;9177" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;pypa&#x2F;pip&#x2F;pull&#x2F;9177</a> to the first link that the main comment there (<a href="https:&#x2F;&#x2F;github.com&#x2F;pypa&#x2F;pip&#x2F;pull&#x2F;9177#issuecomment-735830828" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;pypa&#x2F;pip&#x2F;pull&#x2F;9177#issuecomment-735830828</a>) is pointing HN readers to. I presume that&#x27;s the most informative one.
iverjoover 4 years ago
Sadly, pip 20.3 seems to have broken docker builds in one of my projects. The symptom is that the pip install seems to hang indefinitely (&gt;40000 seconds). I switched back to 20.2 for now.
zestsover 4 years ago
I prefer this resolver to `pip freeze` type pinning for dependency pull safety. Pip freeze makes it a nightmare to remove old packages if you have hundreds of packages frozen.
评论 #25260049 未加载
economustyover 4 years ago
I just switched to pipes, ugh
saiadarsh99over 4 years ago
Oh, wow
optimalsolverover 4 years ago
Get on Poetry, people.<p>Most Python devs don&#x27;t seem to realize that the packaging problem is now solved:<p><a href="https:&#x2F;&#x2F;python-poetry.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;python-poetry.org&#x2F;</a>
评论 #25257121 未加载