-
Notifications
You must be signed in to change notification settings - Fork 76
DOC: minor tweak to docs on invoking pip/build #707
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
base: main
Are you sure you want to change the base?
Conversation
We have several other example |
I think we should add |
717af2c
to
0e1ee55
Compare
@@ -34,6 +34,7 @@ the ``-C`` short command line option: | |||
|
|||
.. code-block:: console | |||
|
|||
$ # note: pip >=23.1 also accepts -C instead of --config-settings |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmm, stray tab characters in this file messing things up
Addresses a comment on issue 704, where a user got tripped up by `python -m build` building an sdist first (and that's typically not what you want). Also fix up stray tab characters in how-to-guides/config-settings.rst
0e1ee55
to
cf6e2a7
Compare
@dnicolodi this is ready, CI failures were unrelated - PTAL, would be nice to merge it. |
$ # note: for Pip <23.1, use `--config-settings=` instead of `-C` | ||
$ python -m pip wheel . \ | ||
-Csetup-args="-Doption=disable" \ | ||
-Ccompile-args="-j6" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we assume pip 23.1 or later in the example, it would be nice to use the same configuration arguments for the build
and pip
examples. The only reason why these were different is that earlier pip did not allow to specify the same configuration key multiple times. I would also remove the note in the comment here and move it to the admonition block just below, that could be retitled "pip version 23.1 and earlier" or something like that, and explain the different command line argument and the limitation. These versions of pip are starting to be ancient history, anyway.
If we switch this example to use -C
instead of --config-settings
, I think we should do the same for every other example using pip too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea, will make that change. pip
23.1 is old enough by now
@@ -83,7 +83,7 @@ To set this option temporarily at build-time: | |||
|
|||
.. code-block:: console | |||
|
|||
$ python -m build -Csetup-args="--default-library=static" . | |||
$ python -m build -Csetup-args="--default-library=static" --wheel . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be nice to always use the same order of the argument in the examples, namely move --wheel
before -C
. Here and in all other instances too.
@@ -242,6 +242,9 @@ dependencies, and ask ``meson-python`` to build the artifacts. | |||
$ python -m build | |||
|
|||
If the build succeeded, you'll have the binary artifacts in the ``dist`` folder. | |||
Note that by default, ``python -m build`` builds an sdist first, and then a | |||
wheel from the sdist. If you only want one artifact, add ``--sdist`` or | |||
``--wheel`` to the invocation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that this misses the main point. The issue in not the extra work for building an sdist that will not be used, but that doing so any uncommitted change in the repository is not reflected in the wheel.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah good point, will add that as the first point since it's indeed a footgun. I think both can be relevant; sdist creation for a large project can be really slow (a quick unscientific measurement says 40 seconds for scipy
at the moment, and it might breaking caching on rebuilds as well).
Addresses a comment on gh-704, where a user got tripped up by
python -m build
building an sdist first (and that's typically not what you want).