-
-
Notifications
You must be signed in to change notification settings - Fork 503
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
Using --enable-system-site-packages
is broken
#37263
Comments
More details: Failures in
|
FWIW, #36997 (comment) goes to confirm that everything is ok with Even the sphinx failures are gone, because for non-editable builds the files in |
Add "needs sphinx" tags to some tests in `src/sage_docbuild` so there is no failure when sphinx is not installed in the system. See: sagemath#37263 (comment) ### 📝 Checklist - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. URL: sagemath#37269 Reported by: Gonzalo Tornaría Reviewer(s):
Yes, but we generally use the euphemism "experimental" for that. It's broken on almost every tested platform -- see section "standard-sitepackages" in https://github.com/sagemath/sage/actions/workflows/ci-linux.yml IMNSHO, it should not be advertised to end users at all. We already know that it does not work because we are testing it! Sending users into the frustration of trying it out and failing (obviously!) is a terrible practice, and in fact a severe regression back to the pre-2020 practice of trying to do platform support without using platform testing infrastructure. |
this option works for me, and for @orlitzky - I presume. we advertise more dangerous things to users, e.g. packages which produce wrong maths results |
this option works on a 'generic' platform, with most packages coming straight from PyPI. Of course it's hopeless - with our ultra-fine degree of package granularity - to accomplish this for a typical Ubuntu or Fedora. The version discrepancy is too much. For this to work reliably one should get rid of most of this "inner" Jupyter and Sphinx dependencies. If you must vendor jupyterlab and sphinx, vendor them as whole things, not as gazillion of pieces. |
Which is very different from "not planned". I'm not asking for a refund, I report in good faith and then spent some time and effort in fixing issues that show up. Is The worst part of this breakage is because of a bug in the editable installation of This bug is really with I insist on the following: even if each one needs or wants a different workflow, the underlying infrastructure has similar requirements (modularity, robustness, sane defaults, working out of the box with diverse systems, etc). The issue you have today may be my issue tomorrow, and vice versa. |
There's no such thing, as you know.
@dimpase Well OK, then let's please stop advertising it to users as if we'd expect it to work! |
No.
OK, then let's focus on this one. Separate ticket and let's create a reproducer so we can report this issue to the |
well, adding a suitable warning - fine, but hiding it - no. It works out of the box on Gentoo linux. Why do you want to hide this? |
Why? The 'generic' platform is a venv with all needed up to date PyPI packages. No magic, it often just works. |
In the documentation, it's already marked as "experimental". No change needed there. I'm referring to you advertising it to users in the mailing lists, such as in: |
What are you talking about. One cannot make a venv from a venv. |
This case looked as if the person was trying to use already installed Python packages. So I pointed out at this option, why not? |
anyhow I don't think we need this or other GitHub issues to discuss the freedom of speech :-) |
I already explained why not: We know that it does not work -- except on 2 developers' machines.
I did see the smiley there, but there's obviously so much to explain. |
It works as intended: it uses the system's site packages if they satisfy the version bounds in There was a user on the mailing list a little bit ago who pointed out a bug with system/SPKG overrides and I'm sure there are other small issues. But largely it does what it says and when it fails it's only pointing out the bad news. |
My point is that looping our user base into this activity is a bad idea. If anyone wants to fix it for other platforms (I'm not saying that you need to fix it! @orlitzky) , it can already be done using our existing platform testing facilities -- much more effectively. We do NOT need the user input for this. |
|
"blocker" label is getting overloaded too much. Let's use "blocker" only for PRs and use "critical" for issues. |
an alternative to this feature would be a configure option making all Python packages into pip packages, and (optionally or not) removes any upper bounds on package versions in One may name this option |
@tobiasdiez's meson branch "fixes" this and most other problems I have with sage-the-distro by making them irrelevant. After all, |
it's a big if - given that @mkoeppe has blocked me on GitHub, it's going to be "fun"... |
Removing "blocker" as explained. |
Using
--enable-system-site-packages
is broken:sage_conf
inside the venv is installed in such a crooked way that it will not override the one installed in the system site-packages, in spite the sage venv site-packages being listed before the system site-packages insys.path
.sage_conf.py
I have in my system doesn't defineGAP_ROOT_PATHS
(not a thing in 10.2). This results in an incredibly scary-looking error (to simulate tryGAP_ROOT_PATHS=/ sage -c 'gap(1)'
or worseGAP_ROOT_PATHS=/ sage -c 'libgap(1)'
).sage_conf
so I just addedGAP_ROOT_PATHS
to the systemsage_conf
(I can't remove it since I don't want to break sage for other users)src/sage_docbuild
and the top comment insrc/sage/env.py
Originally posted by @tornaria in #36181 (comment)
EDIT: some relevant notes that are mentioned in the original post:
./configure --enable-system-site-packages --disable-doc
The text was updated successfully, but these errors were encountered: