Comments (7)
This is fixed in #1884, making the build dependency on setuptools>=61 explicit. The version requirement in 25.1.1 ought to be >=59
.
from pyzmq.
Anyone with an old version of setuptools still gets 25.1.1, which will then fail.
Can the 25.1.1 version be yanked to avoid that?
from pyzmq.
I don't think it should be yanked, but I will publish a 25.1.2 with the version bound, though.
from pyzmq.
Anyone with an old version of setuptools still gets 25.1.1
This is also not true most of the time, because any standard install will get the latest setuptools during build:
python3 -m venv test-pyzmq
source test-setuptools/bin/activate
pip install setuptools==58.*
pip install --no-cache --no-binary pyzmq pyzmq
gives:
Using pip 23.2.1 from /Users/minrk/env/test-pyzmq/lib/python3.11/site-packages/pip (python 3.11)
Collecting pyzmq
Downloading pyzmq-25.1.1.tar.gz (1.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 31.8 MB/s eta 0:00:00
Running command pip subprocess to install build dependencies
Ignoring cffi: markers 'implementation_name == "pypy"' don't match your environment
Ignoring cython: markers 'implementation_name == "cpython" and python_version >= "3.12"' don't match your environment
Collecting setuptools
Obtaining dependency information for setuptools from https://files.pythonhosted.org/packages/4f/ab/0bcfebdfc3bfa8554b2b2c97a555569c4c1ebc74ea288741ea8326c51906/setuptools-68.1.2-py3-none-any.whl.metadata
Downloading setuptools-68.1.2-py3-none-any.whl.metadata (6.2 kB)
Collecting setuptools_scm[toml]
Downloading setuptools_scm-7.1.0-py3-none-any.whl (43 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 43.8/43.8 kB 3.3 MB/s eta 0:00:00
Collecting wheel
Obtaining dependency information for wheel from https://files.pythonhosted.org/packages/b8/8b/31273bf66016be6ad22bb7345c37ff350276cfd46e389a0c2ac5da9d9073/wheel-0.41.2-py3-none-any.whl.metadata
Downloading wheel-0.41.2-py3-none-any.whl.metadata (2.2 kB)
Collecting packaging
Downloading packaging-23.1-py3-none-any.whl (48 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.9/48.9 kB 6.0 MB/s eta 0:00:00
Collecting cython>=0.29
Obtaining dependency information for cython>=0.29 from https://files.pythonhosted.org/packages/03/e9/9cc0c4f0d8a566089d096254cd25168a0db02dd047863a7f995d8d3eefa7/Cython-3.0.2-py2.py3-none-any.whl.metadata
Downloading Cython-3.0.2-py2.py3-none-any.whl.metadata (3.1 kB)
Collecting typing-extensions (from setuptools_scm[toml])
Obtaining dependency information for typing-extensions from https://files.pythonhosted.org/packages/ec/6b/63cc3df74987c36fe26157ee12e09e8f9db4de771e0f3404263117e75b95/typing_extensions-4.7.1-py3-none-any.whl.metadata
Downloading typing_extensions-4.7.1-py3-none-any.whl.metadata (3.1 kB)
Downloading setuptools-68.1.2-py3-none-any.whl (805 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 805.1/805.1 kB 24.4 MB/s eta 0:00:00
Downloading wheel-0.41.2-py3-none-any.whl (64 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.8/64.8 kB 5.5 MB/s eta 0:00:00
Downloading Cython-3.0.2-py2.py3-none-any.whl (1.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 31.8 MB/s eta 0:00:00
Downloading typing_extensions-4.7.1-py3-none-any.whl (33 kB)
Installing collected packages: wheel, typing-extensions, setuptools, packaging, cython, setuptools_scm
Successfully installed cython-3.0.2 packaging-23.1 setuptools-68.1.2 setuptools_scm-7.1.0 typing-extensions-4.7.1 wheel-0.41.2
Installing build dependencies ... done
...
so the vast majority of installs will either
- get a wheel, or
- build from source, in which case the latest setuptools will be downloaded, not an outdated version
neither of which encounter any errors. The same goes for the documented "install from source", which should use pip install .
, not the deprecated and discouraged (throughout all Python packaging, not just pyzmq) direct invocation of setup.py install
that encounter any errors, which would also ignore the version specification in pyproject.toml, anyway.
from pyzmq.
If there is another package in your software project that needs an older setuptools, pip would keep that version. In larger projects there are many version requirements, so it would be nice if version resolving works reliably.
But you are right, it only appears in special situations.
from pyzmq.
Can you point to a concrete example? I might be missing something, because there really are so many ways to install packages. Since pip's standard behavior is isolated environments for each package, pyzmq's build dependencies shouldn't be related to any other package in your environment. The dependency is only shared across packages if each package's build environment is ignored (e.g. --no-build-isolation
), in which case expressing an explicit build dependency on setuptools>=59 won't solve anything because that pin is still ignored. It becomes an only "for humans" dependency communication.
from pyzmq.
Related Issues (20)
- BUG: zmq.asyncio.Poller does not return POLLPRI events before timeout HOT 1
- Subscriber recieve hangs infinitely HOT 1
- Unexpected Keyword Argument 'block' HOT 1
- BUG: RTLD_GLOBAL dlopen flag causes segfaults w/ pynacl & libsodium HOT 4
- BUG: test_green_device crashes with Python 3.12 on ppc64le
- FEATURE + MR: Advertise newer python versions
- Why does the wheel package on pypi not support IPC on windows 10? HOT 2
- BUG: asyncio: memory leak in socket.poll HOT 1
- Release 25.1 with Python 3.12 wheels
- [lint] abstract class instantiated HOT 2
- BUG: windows arm64 support HOT 12
- libzmq question: ROUTER/DEALER mod restart DEALER only will cause Host unreachable Error HOT 7
- BUG: `try_passwordless_ssh` hangs while connecting to server HOT 2
- RFE: is it possible to restart making github releases?🤔 HOT 6
- unable to build on mac m1 max HOT 11
- BUG: Missing zmq.NOTIFY_CONNECT and zmq.NOTIFY_DISCONNECT constants HOT 6
- BUG: zmq hangs forever if attempting to send a message before socket has time to connect HOT 1
- BUG: Unable to install in mac m1 HOT 1
- build fairure with cython default bnanch
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyzmq.