in my case 5.4.1 is distro installed, also usually i have another
--user
installed version for testing, and the ALICE software that is built is completely another matter that always was distinct from any system present software. So, with this context, what solution do you see?
Ah okay. Thanks for explaining. So let me see if I have this all correct.
v5.4.1
that you installed somewhere personally from yum
. I got confused as in the https://asevcenc.web.cern.ch/asevcenc/alibuild_xrootd542/log it starts with ++ [[ -e /home/physics-tools/alicebuild/sw/SOURCES/XRootD/xrootd/0/bindings ]]
and so I thought this was some build log related to alisw/alidist#3933. My bad.--user
and that's fine and not causing any conflicts or collisions. It just exists. v5.4.1
problem and is just going from v5.4.0
to v5.4.2
. Okay, so if I have that all right, then it seems that you're trying to mix installing Python packages from package managers and from pip
but not placing them in distinct places and installing both globally(?). The short answer is that Python applications / libraries are not designed to be mixed like this and you'll need to choose one or the other. If you're going to use a package manger like yum
to install Python bindings to compiled applications that's fine (and something I would recommend), but then you should leave these globally installed applications to the package manager and use Python virtual environments to install Python packages and applications at a local level. If you truly need Python bindings installed globally from pip
and not from a package manager, then my recommendation is to use pipx
. I'm sure that you'll have questions on this, which is fine and great, but I may enlist @henryiii to give you some relevant blog posts to follow up on.
Okay, assuming I have that right (my apologies if not) my recommendation for the v5.4.1
problem is the following:
yum
?) to install v5.4.2
uninstalling v5.4.1
along the way. Just use your package manager to get XRootD and its Python bindings (though maybe you can't for good reasons).--user
. This is safer, much easier to manage, and allows you to have an unlimited number of versions to test against, mess around with, compared to only having one version that is installed with --user
.Does this seem reasonable? Sorry if I've confused the situation or missed anything.
also, related to #1594 (comment) is there a solution to use the already present source?
You could use the current source that you have, but you'd need to do the https://github.com/xrootd/xrootd/blob/3d64cdad97f0f93a04dd01234e88a27525285d8d/.github/workflows/build.yml#L570-L577 sort of system. At that point it is probably just easier to install from PyPI, unless you're trying to match source versions exactly.
can i do
python -m pip install git+file://${BUILDDIR}/some_directory
(where BUILDDIR is a copy of git repository) ?
Currently no. The pattern that you describe here with being able to install from Git repos is a very reasonable one, but that requires the repository structure to be setup in a way that allows for that. The XRootD system is setup in a way that requires you to do the
sort of workflow as the cp
moves specific files to locations. I agree with you that it would be nicer if this wasn't necessary, but I didn't attempt to tackle that when I was trying to update things for v5.4.1
as that seemed larger/out of scope. I think a GitHub Issue for this idea would be really nice though!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.
Use REPLY-ALL to reply to list
To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1