-
Notifications
You must be signed in to change notification settings - Fork 52
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
Release vp1 #255
Release vp1 #255
Conversation
Codecov Report
@@ Coverage Diff @@
## master #255 +/- ##
=======================================
Coverage 47.66% 47.66%
=======================================
Files 25 25
Lines 3151 3151
=======================================
Hits 1502 1502
Misses 1649 1649
Continue to review full report at Codecov.
|
e39628b
to
e9de696
Compare
20dca30
to
84aade1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking good, made some minor suggestions.
pip installer: | ||
|
||
$ pip install NEURON | ||
and it will install ``hnn-core`` along with the dependencies which are not already installed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and it will install ``hnn-core`` along with the dependencies which are not already installed. | |
which will install ``hnn-core`` along with the dependencies that are not already installed. The most notable of these is NEURON `https://neuron.yale.edu/neuron/ <https://neuron.yale.edu/neuron/>`_. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thought we should mention NEURON on the start page (or is it just "Neuron"?). EDIT: I see we have the link below in a different context... Might be nice to acknowledge here too, though?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm hesitant to provide the link because users may go for the traditional install if they open the website and that will cause us unnecessary headaches
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thought we should mention NEURON on the start page (or is it just "Neuron"?).
I'm a fan of NEURON to avoid confusion with the journal.
Co-authored-by: Christopher J. Bailey <bailey.cj@gmail.com>
than one CPU core, refer to `parallel_backends`_ | ||
|
||
**Note for Windows users** | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We recommend using windows subsystem for linux (WSL). For use with pure Windows, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you have a Windows machine to give this a shot?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure! Stuck in meetings today but I can give it a go later tonight for windows and linux.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This showed up on the Windows install. You have to navigate to /Lib/site-packages/hnn_core/mod/
in your conda environment and run nrnivmodl
manually. Are they supposed to compile automatically for all systems?
Also I'll check out mpi4py for windows, but I suspect it's going to be a power user feature...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nopes, it should work out of the box. That's the whole point of all this pain we're taking :) For linux/mac, it works out of the box for you, right?
so here is where nrnivmodl
is called during the setup
. Can you verify if this works? I remember having some trouble printing or adding breakpoints in the setup file, so you might need to do some googling.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh sorry I just pushed a commit to the branch, should I revert it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh indeed, sorry I had forgotten you could push. It's all good. Uploaded to test.pypi again. Give it a shot
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmmm that didn't seem to cut it. Perhaps there's a lag for test.pypi to update? Not sure how to check that since setup.py is not included in the pip install.
I'll try again in the morning, also I need to read through this but this may explain the issue:
https://docs.python.org/3/install/#how-installation-works
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just download the tar from pypi directly and you should have the setup file there: https://test.pypi.org/project/hnn-core/#files
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also if you tell me your test.pypi username I can add you there so you can try uploading yourself
|
||
**Note for Windows users** | ||
|
||
The pip installer for Neuron does not yet work for Windows. In this case, it is better to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pip installer for Neuron does not yet work for Windows. In this case, it is better to | |
the pip installer for Neuron does not yet work for Windows. In this case, it is better to |
okay I just uploaded on
$ pip install --index-url https://test.pypi.org/simple/ hnn-core |
Tried following on macOS Catalina (edit: and on Ubuntu 16.04, identical results) conda create -n hnn_pip python=3.7
conda activate hnn_pip
pip install --index-url https://test.pypi.org/simple/ hnn_core Resulting in Looking in indexes: https://test.pypi.org/simple/
Collecting hnn_core
Downloading https://test-files.pythonhosted.org/packages/88/e1/818763673c61c0b22823ca3d9e36ed03ef84ae53c56bad50b63521fb8389/hnn-core-0.1.3.tar.gz (100 kB)
|████████████████████████████████| 100 kB 2.9 MB/s
Downloading https://test-files.pythonhosted.org/packages/c4/eb/c4266a4e53828cde9bcd33074177e0d7f3951265f15fd84507d4402eac14/hnn-core-0.1.2.tar.gz (100 kB)
|████████████████████████████████| 100 kB 3.8 MB/s
Downloading https://test-files.pythonhosted.org/packages/7d/18/40e2db1956d14cae0d990bd7631325690777100aed1ea23a11a27145c413/hnn-core-0.1.1.tar.gz (224 kB)
|████████████████████████████████| 224 kB 4.0 MB/s So no dependencies were downloaded, and it didn't even attempt to compile the mechanisms :( My username on test.pypi is cjayb... |
Looking at setup.py, is it just because Doesn't explain why @jasmainak had successful installs so it may be throwing an error silently like on Windows 10. |
why do I see only downloading and no installing message logs? Are you sure there wasn't an existing version of |
It's used here: https://github.com/jonescompneurolab/hnn-core/blob/master/setup.py#L107 |
@cjayb can you verify that after this step
you can't import |
That's what I mean, I was under the impression that pip internally runs |
right this is what I think too. And the "install" command in the setup file calls the "build" command which in turn calls the "build_py" and "build_mod" commands I believe. And "build_py" and "build_mod" can be overridden through the cmdclass. I guess if Do also read this and the rest of the comments on this thread. That's when I was learning how all this works. |
Some progress here. Part of our problem is that we're testing a non-standard installation (via test.pypi). Setting the
This pulls in all the dependencies (yay!) and triggers a build (yay^2!), but alas:
which is because Haven't been able to figure out how to force the dependencies to be installed before build, any thoughts? We're so close... :) |
Just uploaded again to test.pypi! This is turning out to be quite the teamwork :) |
Yeah!
Edit: that is, the following now builds and examples run: conda create -n hnn_pip python=3.7
conda activate hnn_pip
pip install --extra-index-url https://test.pypi.org/simple/ hnn_core |
I don't think this is needed: the file is only relevant for installation using |
okay so here is the game plan I propose:
|
requires = ["setuptools>=40.8.0", 'NEURON >=7.7'] | ||
build-backend = "setuptools.build_meta:__legacy__" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be honest, I don't understand the implications of the version requirement (Feb 2019) nor the __legacy__
flag. I guess it's a safe bet that our pip-based users will be fine with both.
okay let's move forward without Windows. If we do find a fix later, we can backport it. I'll let some Windows user complain before fixing it :) FWIW, we did make it work before with @kohl-carmen in the development environment. But unfortunately my antiquated Windows machine is complaining too much now ... so I'll skip this step for now. |
alright folks, single line install of $ pip install hnn-core Enjoy Mac and Linux users! |
I've been in manuscript-writing land and am just getting caught up now - sorry for the very late reply. I'll try to make a PR by the end of this weekend. I'm super excited about this release, it's been a long time coming @jasmainak! |
sounds good! You might have to do something like 1a1072d if you want to push the changes to 0.1 documentation. |
closes #256