-
Notifications
You must be signed in to change notification settings - Fork 168
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
Support noarch:python packages #256
Conversation
This PR addresses #86 |
On Windows it seems it doesn't work at all, correct? |
Have not tested it on windows. But why does it not work? |
It's as if nothing has run from your new actions. |
This is strange. At least the files shall be copied or moved to python specific paths. These code shall be portable among OSes. The entry points can be problematic. |
It's strange or the trunk constructor has stopped working on Windows or i'm doing something completely wrong: I cloned the conda/constructor repo and installed it with When i build and execute the installer, the expanded folder is missing completely all traces of the noarch packages - it's as if the move worked only for removing the files, but not actually relocating them. Ofcourse it is not possible to import the noarch libraries from python repl. |
(assuming that i did manage to do the tests cleanly) With your patch, nothing works. |
I see. The problem here is that the site-package path on Windows is |
Where shall the console scripts be placed on windows? Can these scripts be python scripts? |
IIUC they are placed in |
Addressed in the latest commits. Would you please test it again? @ankostis |
I just tested again under Windows, unfortunately, no improvement: neither entrypoints nor the python-projects exist ANYWHERE in the constructed folder. I mean, there is no "rogue" |
Maybe the windows package goes through a different code path. Help is welcome. |
It seems so. But i never undestood why constructor has to replicate the installation code in the first place, |
It's chicken and egg. You need a single exe conda otherwise that duplicates the normal conda. |
But it's futile to chase It wouldn't be a chicken-egg if constructor kept the adhoc OS-specific installation-routines here just to install the |
Indeed, I wouldn't do that personally, I'd compile conda as a single executable and also as a normal conda-package. That's what we're exploring at present. The other idea I had is to rewrite the core install-conda-package-from-tarball code in rust as a static exe and have both our Python conda and constructor use that instead. But it's all just work to be done, no one disagrees that it should be supported and supported in a maintainable way. |
I think the intent of this PR is implemented in #263. Can this PR be closed, or does it have other value that is worth keeping? |
^ @ProgramFan? |
Let's close it~ |
Hi there, thank you for your contribution! This pull request has been automatically locked because it has not had recent activity after being closed. Please open a new issue or pull request if needed. Thanks! |
noarch:python packages are now widely used in channels such as plotly, pyviz and conda-forge. Yet constructor does not support them correctly. This PR addresses this issue.
The idea of this PR is to follow the noarch:python specification in https://www.anaconda.com/condas-new-noarch-packages/ and imitate conda install.
install.py
is modified to do the following things:site-packages/*
intolib/pythonX.Y/site-packages
python-scripts/*
intobin
info/link.json
Python files are not compiled at the moment but can be added. I test this PR with https://github.com/ProgramFan/anaconda-plus/ and it works as expected.