-
Notifications
You must be signed in to change notification settings - Fork 40
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
Replace python-ldap with openldap in conda env #1524
Replace python-ldap with openldap in conda env #1524
Conversation
@axelboc if you have time and opportunity, please test if this approach solves the issue you reported in #1510. Honestly I do not know if this approach is suitable for everyone. It feels like one of those things where whatever we change (good or bad), it will break someone's workflow. : D But anyway, I feel like something has to be done. For example, when running
|
Worked like a charm!!
The UI shows up and I can log in. Like a charm, as I said! 😍 |
Of course, I haven't tested in a fully fresh Ubuntu 24 install.
|
This is the part I am not entirely sure about. Maybe I should try in an empty container, where all this stuff is absent, no compiler, no Python dev headers. |
Not so surprisingly, a compiler is required. Seems to me like |
Thanks, very nice :) I think its rather safe to assume that there is a compiler installed, I think we can address that issue if it arises. |
I think |
I have not checked yet, but I would not be surprised if I was the one to remove it. : D I will try to check this and further down the history of this file, maybe there are some valuable lessons to learn from the past. |
Of note, the discusssion #954. To some extent, Benjamin is right, but because of the following issue (that I already mentioned many times), this all falls apart and Poetry will rightfully want to compile
I will discuss with @beenje, maybe I can convince him to pair up for an adventure and fix things on conda's side. : ) |
I see. The |
Just a quick comment. Most of this issue comes from installing poetry in the conda env. I'd recommend to install poetry in a separate env. Could be done using pipx or uvx. |
Yes, but in order to make sure that there is no confusion, I want to restate that this is not the first layer of the issue. See how a bunch of these are "updates" to the exact same version that is already installed. This is because conda packages are poorly packaged (or poorly installed, depends how you see things). That is the real issue here.
Yes, currently pipx seems like a good candidate for fixing some (for sure not "all") issues we have with packaging. But I feel like introducing yet another tool might cause friction, so I want to tread carefully, but I will for sure experiment with this. |
On PyPI, `python-ldap` is distributed as an *sdist* only, not *wheel*. But it still requires a compilation step before installation. Some dependencies installed with conda are rightfully ignored by Poetry. Even when `python-ldap` is pre-installed by conda, Poetry would still need to reinstall it which implies compilation. Indeed there is an issue in how conda packages are created and how they are installed: * <python-poetry/poetry#6408 (comment)> * <conda-forge/python-ldap-feedstock#28> So it does not make much sense to let conda install `python-ldap`. Instead we can instruct conda to install `openldap` only, and pip and Poetry should be able to compile `python-ldap`. GitHub: mxcube#1510 GitHub: mxcube/mxcubecore#849 (comment) GitHub: conda-forge/python-ldap-feedstock#28 GitHub: mxcube/mxcubecore#851
c98a431
to
e5bcdef
Compare
Rebased and rephrased the comment in Ready for merge. |
Wonderful ! |
For info: mamba-org/mamba#3758. |
On PyPI,
python-ldap
is distributed as an sdist only, not wheel. But it still requires a compilation step before installation.Some dependencies installed with conda are rightfully ignored by Poetry. Even when
python-ldap
is pre-installed by conda, Poetry would still need to reinstall it which implies compilation. Indeed there is an issue in how conda packages are created and how they are installed:direct_url.json
file conda-forge/python-ldap-feedstock#28So it does not make much sense to let conda install
python-ldap
. Instead we can instruct conda to installopenldap
only, and pip and Poetry should be able to compilepython-ldap
.GitHub: #1510
GitHub: mxcube/mxcubecore#849 (comment)
GitHub: conda-forge/python-ldap-feedstock#28
GitHub: mxcube/mxcubecore#851