Comments (13)
@dharhas, is there any reason stevedore bundles six
and argparse
instead of just depending on them? That's an unusual arrangement and to me seems safe only if it bundled them as submodules within its own module, not at the top level where there will be conflicts with other packages.
from earthsim.
The packaging of stevedore on conda-forge looks less problematic, so maybe it would be enough to just pin stevedore's version to be higher than the stevedore on erdc's channel. I've done that in #10; please tell me if that's going to cause a problem (with quest?) I'm unaware of.
If everyone were using conda 4.4, we could instead specify to install only gssha, filigree, libfiligree from the erdc channel.
from earthsim.
I've removed stevedore from the erdc channel. I think it is an artifact of a time before conda-forge was available. I'm a little confused why a lower version of stevedore is preferred over a higher version but I guess channel has priority? Our policy is to only maintain packages in erdc that cannot be put in an community channel like conda-forge.
from earthsim.
@jbednar no idea. Stevedore and pbr (python build reasonableness) are part of openshift and I've noticed that they have their own particular way of doing things that don't always match the wider community. Back in the day I picked stevedore as a framework for a plugin architecture in quest and pbr to deal with versioning. If I had to do it over, I would probably go with versioneer for versions and I'm not sure what else is out there for plugins.
from earthsim.
I'm a little confused why a lower version of stevedore is preferred over a higher version but I guess channel has priority?
I think so, yes.
from earthsim.
In that case, presumably we could have avoided the issue by bumping the erdc
channel to be down below conda-forge
?
from earthsim.
Depends. It was the first thing I considered, but I took the conservative option of avoiding only the one package known to cause a problem.
By 'depends', I mean: (a) is there any package already on conda-forge that's also on erdc, where we need the package to come from erdc? (b) what if in the future someone puts one of the must-come-from-erdc packages onto conda-forge?
However, Dharhas has clarified that the "policy is to only maintain packages in erdc that cannot be put in an community channel like conda-forge", so maybe the erdc channel should be put at a lower priority than conda-forge, and we should just see what happens?
And also, maybe various packages should be removed from the erdc channel that are on conda-forge? There appear to be quite a few. However, I don't know why those packages exist - there might be a good reason.
from earthsim.
I think we should pin versions very specifically as the final deliverable from this phase, and then relax them when we resume development in the next phase. So at this point it shouldn't matter; there shouldn't be any significant ambiguity. Eventually, my guess is to put the erdc
channel lower in priority, because new versions of things are likely to appear on conda-forge, and we'll then realize that and be forced to adapt accordingly.
from earthsim.
In general, the erdc channel is only for stuff not available in other channels, so it should probably be last in priority.
from earthsim.
I think we should pin versions very specifically
@jbednar, so just to be clear, I should pin all packages in environment.yml to exact versions currently being used?
And then later on, we'll also make a conda package where we don't do such pinning.
from earthsim.
If you're volunteering, then yes, please do! I was just saying abstractly that someone should do it. :-) We should make a note (e.g. a comment on that line of the file) for any of those pins that are actually known to be required, so that we don't mistakenly delete those later when we remove the rest of the pinning.
from earthsim.
And also, maybe various packages should be removed from the erdc channel that are on conda-forge? There appear to be quite a few. However, I don't know why those packages exist - there might be a good reason.
There are some packages in the erdc channel that were created by the hashdist/conda portion of this project in 2017. The reason as far as I understand, is that they have compilation options suited for hpc that were not accepted by conda-forge. Those need to stay. None are packages EarthSim uses. Any older ones can be removed if causing problems.
from earthsim.
Thanks for explaining that.
Anyway, the original issue is resolved.
from earthsim.
Related Issues (20)
- Specifying opts.defaults in Analyzing_Meshes HOT 2
- Linked objects (map+table) in panel HOT 13
- Missing import in __init__
- Dynamically adding to param.ObjectSelector after instantiation
- How to force Annotator poly_stream population HOT 4
- Branching and converging pipelines HOT 1
- Earthsim install directions need to be updated HOT 1
- GSSHA dependencies need to be removed HOT 2
- How to set width on panel tabs widget HOT 2
- Updating the annotator doesn't update poly_table and point_table HOT 1
- Bug in vertex promotion to node HOT 1
- Add narrative and explanation in Generating Meshes HOT 1
- Generalizing Annotators HOT 4
- Editable dataframes HOT 2
- Fix tool and annotator UI issues
- vectror plot and colorbar issue
- Migration summary HOT 4
- Editing large meshes
- Reading UGRID-compliant NetCDF files HOT 12
- Working environment to execute GrabCut with earthsim
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from earthsim.