-
Notifications
You must be signed in to change notification settings - Fork 192
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
conda distribution #2550
Comments
On a related note, I use this script to spin-up different 'aiida environments', |
@chrisjsewell you may want to try Currently, we only have 0.12.2 there and so far I think it is not very well tested (=haven't heard of many people using it, but I now see there are >1000 downloads already...). |
Now started looking through your script - thanks for your work, much appreciated! |
@ltalirz perfect I didn't notice that :) yes if you look at my yaml, I have
absolutely |
aiida-crystal17 is now on conda-forge :) This environment, runs and passes all my tests: name: aiida_cry17_0_4_0_py27
channels:
- conda-forge
- bioconda # for chainmap
- cjs14 # for pgtest
- defaults
dependencies:
- aiida-core==0.12.2
- chainmap==1.0.2
- aiida-crystal17==0.4.0
- pytest
- pytest-timeout
- pgtest |
Very cool! There are essentially two reasons I didn't yet include postgres as a dependency in the 0.12.2 conda package:
If you have any thoughts on these issues, I'd be very happy to hear them |
Had a little look into it for another package, here's some relevant issues:
Yeh I guess like travis's mechanism, would be cool. I'll leave that to you though! |
Thanks for the hints concerning "extras" - Yes, I could imagine including e.g. an
So, just that I understand: you currently use postgres and rabbitmq installed via conda and always start it manually? Would you be happy with this solution to start with? |
Ok so I've redone my activate_aiida script into a conda package, which effectively spits the process into two stages:
The following example creates and activates a full aiida environment from scratch, conda_environment.yaml: name: aiida_0_12_2_190305
channels:
- conda-forge
- cjs14
- bioconda
- defaults
dependencies:
- aiida-core ==0.12.2
- chainmap ==1.0.2
- postgresql >=9.4
- aiida-crystal17 =0.4
- aiida-quantumespresso ==2.1.1a2
#- jupyter =1.0
- activate-aiida aiida_environment.yaml: conda_env: aiida_0_12_2_activate
aiida_version: 0.12
aiida_path: /Users/cjs14/GitHub/aiida-cjs-working/databases/aiida/
db_pgsql:
path: /Users/cjs14/GitHub/aiida-cjs-working/databases/pgsql/aiida_0_12_2_190305
user: testuser
user-password: xxxx # should handle this more securely
name: testdb
port: 5432
db_aiida:
path: /Users/cjs14/GitHub/aiida-cjs-working/databases/aiida/aiida_0_12_2_190305
profile: testprofile
email: chrisj_sewell@hotmail.com
first-name: chris
last-name: sewell
institution: imperial
import_nodes:
- common_nodes.zip
git_branches:
- path: /Users/cjs14/GitHub/aiida-lammps
branch: master Then run: >> conda env create --file=conda_environment.yaml
>> conda activate aiida_0_12_2_activate
>> source activate-aiida -c -i aiida_environment.yaml and to stop the daemon and pgsql: and you can run Some notes:
|
@chrisjsewell thanks a lot for your efforts, this looks very interesting! I've already added I'll come back to your "notes" later. @giovannipizzi @sphuber In summary:
There are a few points we should decide:
Happy to hear your comments! |
Thanks to both!
|
@giovannipizzi I muted the warning about |
FYI, I generally use the ruamel.yaml package as a replacement for |
Indeed, namely the one used for autofilling verdi quicksetup, see here. Regarding ruamel vs pyyaml
Happy to switch to ruamel |
|
Happy to switch as well. Also, when we go to yaml, we should 1. see if we can still support the automatic format detection and migration, and 2. also migrate in the same file the caching configuration (I imagine it should be possible using the "options" implemented by @sphuber: do we already have an issue for this?) |
some updates:
@chrisjsewell could you check whether your |
Hey @ltalirz just checked; For the current conda-forge package, the Once that was the fixed, the only other change was to the v0.12.3
v1.0.0b1
|
A note on moving entirely away from a bash script: The main issue was setting the |
Closing this, since the main purpose of this issue (a conda distribution for aiida) was addressed long ago. Opened issues chrisjsewell/activate_aiida#3 and #3310 for points raised in here. |
It would be good to have an aiida distribution on conda-forge (a lot easier than messing around with homebrew and ports etc).
I see you've created an environment.yml previously #2081
Here an attached environment.yml that (at least today) works with the
provenance redesign
branch, for a python 3.6 environment, that allowsaiida_core
to be installed (and work) with no dependencies:conda_env_py36_aiida1b1.txt (I had to change the extension from yml, for GitHub to accept it)
There was some minor tweaks to versions (see comments), but they don't seem to break anything
The text was updated successfully, but these errors were encountered: