-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nspkg dependency issues during pip install with python 3 #3447
Comments
Hi @grahamegee It turns out some "not-PyPI" implementation of PyPI-like server does not respect the expected protocol of communication. I got the same isuue with JFrog from Artifactory: If you look at the source of this page: You will see this: <!DOCTYPE html>
<html>
<head>
<title>Links for azure-nspkg</title>
</head>
<body>
<h1>Links for azure-nspkg</h1>
<a href="https://files.pythonhosted.org/packages/3d/90/c9d3608ccbef4e95736b5a52ddb8cb67f4841e5d362ee1fa29e547e797ec/azure-nspkg-1.0.0rc1.zip#sha256=a1c2f54c484090ad58f7ca1612acbd357ee8844221f44e3fc72253a3d6aa32c6">azure-nspkg-1.0.0rc1.zip</a><br/>
<a href="https://files.pythonhosted.org/packages/6c/e3/519e130fb967dfe2f6a07a4ca3065504d753a8aadb2f82dd1b224d654dfc/azure_nspkg-1.0.0rc1-py2.py3-none-any.whl#sha256=ec3eb0e8fedee778480de4a1beab601bf4ffa3ab523b9b341f2ff84961061717">azure_nspkg-1.0.0rc1-py2.py3-none-any.whl</a><br/>
<a href="https://files.pythonhosted.org/packages/b7/38/bde8f56bd8d9db17eaa54c6b8dfd2f8b06368567a71b11c6d62c136c06b4/azure-nspkg-1.0.0rc2.zip#sha256=68429643e3bbfb02a14139bbaa409d15de317dd170690b9f16ab404534473baa">azure-nspkg-1.0.0rc2.zip</a><br/>
<a href="https://files.pythonhosted.org/packages/a9/3d/c6a4a73f0a706ee22af083ac4bad9ebafd728ee06be480d6b0a575d3705e/azure_nspkg-1.0.0rc2-py2.py3-none-any.whl#sha256=6a45bef98a7d53196263f96c2cd8138005b56a43bd4bcc82960ea56b0ce889dd">azure_nspkg-1.0.0rc2-py2.py3-none-any.whl</a><br/>
<a href="https://files.pythonhosted.org/packages/6c/bc/16e85022bef01d024cac48ad2d1bfe41279ca9a369faab30138e72d0ee1b/azure-nspkg-1.0.0.zip#sha256=293f286c15ea123761f30f5b1cb5adebe5f1e5009efade923c6dd1e017621bf7">azure-nspkg-1.0.0.zip</a><br/>
<a href="https://files.pythonhosted.org/packages/48/bc/f89ff99a5ae18adfeba019a04c09e42eb8c66d792826a642d2d940919c50/azure_nspkg-1.0.0-py2.py3-none-any.whl#sha256=084804005cd14ae340c8f8d99895f8cd88d8b119ecf433b9e69d2b802911d8f7">azure_nspkg-1.0.0-py2.py3-none-any.whl</a><br/>
<a href="https://files.pythonhosted.org/packages/06/a2/77820fa07ec4657d6456b67edfa78856b4789ada42d1bb8e8485df19824e/azure-nspkg-2.0.0.zip#sha256=fe19ee5d8c66ee8ef62557fc7310f59cffb7230f0a94701eef79f6e3191fdc7b">azure-nspkg-2.0.0.zip</a><br/>
<a href="https://files.pythonhosted.org/packages/cd/a0/76ca6659ae9afd7567fdbb5b9c85e9c9a0b48238cfcacd92525484408f66/azure_nspkg-2.0.0-py2.py3-none-any.whl#sha256=4bd758e649f57cc188db4f3c64becaca16195e057e4362b6caad56fe1e7934e9">azure_nspkg-2.0.0-py2.py3-none-any.whl</a><br/>
<a href="https://files.pythonhosted.org/packages/1c/db/7a5e6d37f90107e3c58de06394d421dc08e0f90fe0d40cc464e81911e9a8/azure-nspkg-3.0.0.zip#sha256=08c0c8a236616323ca72d566119e1614f4fa2f6ada420c8f5a5afb2fcaec18f5" data-requires-python="<3">azure-nspkg-3.0.0.zip</a><br/>
<a href="https://files.pythonhosted.org/packages/1e/a4/84eb1251c2f3d2392bae60c7999f070ce1c68412880dfc80e644a854354e/azure_nspkg-3.0.0-py2.py3-none-any.whl#sha256=413def61ecf6789388b4c0b2178661aa0b8f93257c9760cd691214942338045b" data-requires-python="<3">azure_nspkg-3.0.0-py2.py3-none-any.whl</a><br/>
</body>
</html>
<!--SERIAL 4309349--> See that the last link have a special metadata: Result is that pip will automatically select azure-nspkg 3.0 on Python 2, and azure-nspkg 2.0 on Python 3. My guess is that nexus has the same bug as JFrog Artifactory, and does not expose these metadata correctly... Note that you can expect more and more packages to come with that syntax. Django for instance, already switch automatically from 1.x versions in Python 2 to 2.x on Python 3. aiohttp users, can use 2.x in 3.4 and 3.x in 3.5 and up and declare it using the same syntax. I'm not exactly sure what I can do myself, I respect all the setuptools protocol, and I use features released 2 years ago (November 2016...), which is not really cutting edge technology... :( |
Side note @grahamegee , |
As workaround, you use the pip flag |
@lmazuel interesting... I had a feeling that this might have been the wrong place to raise an issue. I've done some digging in nexus and had a look at the attributes on the v3 package. You can see right down the bottom that
I guess it's worth mentioning that I'm running Nexus OSS 3.2.0-01. Maybe this is fixed in a newer version. |
I've raised an issue with sonatype https://issues.sonatype.org/browse/NEXUS-18117. |
FYI, this broke us too, using devpi for package server. |
@johnarnold I see the fix in the release of 4.7.0 of devpi
Could you confirm your version of devpi? |
Released azure-nspkg 3.0.1 and azure-mgmt-nspkg 3.0.1 that does not use There is too many people impacted, even if I did nothing wrong, and it's third-party issues, to just do nothing. Hopefully this fixes all issues, so closing here. |
We have been experiencing very strange behaviour which I believe is related to #3412
some context.
We have a local pypi proxy in nexus, the weird behaviour seems to be limited to when we point to this private pypi.
Behaviour with Python 3.5
Nexus pypi
for some reason an attempt to pull
azure-nspkg==3.0.0
happens even though we're running python 3. The install fails.Public pypi
azure_nspkg==2.0.0
is collected. The install works.In #3412 the
*_nspkg
modules are added asrequires_extra
with apython<3
tag so I'm confused as to why they are being fetched at all during a pip install on python 3.Current fix
Currently I have explicitly installed all required
*_nspkg
modules pinned at version 2.0.0 in the my respectivesetup.py
files as a work around.Help!
azure_nspkg==3.0.0
from nexus but it keeps coming backThis was all working until 2 days ago which coincides with the changes introduced during #3412.
The text was updated successfully, but these errors were encountered: