-
Notifications
You must be signed in to change notification settings - Fork 34
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
No module 'future' on emission environment. #513
Comments
That's great! If/when you use it, could you please add your experience with installation/customization/server resources, etc to #505? |
Now to your actual issue. In general, every case of Can we try some additional troubleshooting steps?
|
Please update the bug with what the issue was so others can benefit from your experience! |
Also, for the record, I plan to upgrade to the latest conda, and the latest version of multiple packages as part of the giant restructuring (#506). Unfortunately, that plan is on a small hiatus as I figure out if e-mission can help with contact tracing for COVID-19. But I'll get back to it in a little bit! |
I had the same problem. The environment was correctly a python 3.6 environment I solved it by enabling the emission environment and running |
@lucazpinheiro any update on how you were able to resolve this? |
I tried that but got the following error:
|
hm, so the problem appears to be
Do you have write access to that location? Also, have you considered the docker approach? There are two CI systems running for the server right now:
Both of them pass (https://travis-ci.org/shankari/e-mission-server) and (https://github.com/e-mission/e-mission-server/actions). You may want to follow those setup scripts exactly to setup your environment. Since they work in the CI environments (ubuntu:latest), they should work on your setup as well. |
Sorry for taking to long so reply. I'm trying the steps you propose on the second answer. When running
When I run
I have tried to install the modules manually, I installed the other four modules util it ask for one that the conda repository didn't find |
@lucazpinheiro can you also put in the prompt - e.g. something like
That helps me verify what is going on wrt the way in which the script is invoked. |
After install
|
so it looks like there are multiple packages missing. I suspect this is the issue with the newer version of conda. Try docker, or install the older version of miniconda as described in the CI |
@lucazpinheiro @lefterav I am thinking that maybe I will put the conda setup instructions from the automated build also into the
|
@shankari I installed miniconda version |
Just to check if I understand it correctly, you are proposing to automate the anaconda setup process? If that is the case, yes, I could test, but I'm not very experienced with server mangemente, so maybe it won't be very helpful. |
@lucazpinheiro probably the most useful thing to do is to submit a PR to the server README with the instructions to install the correct version of miniconda. If you could also test out the modified |
I have tried the docker version, but the decision to go with the server manually came from a higher power, aka my boss. He wants to have more control over which feature of the project we would use. About the PR... the change on the README would be made on my fork and then I would submit the PR? Also, let me know when you have made changes to the |
yup, https://en.wikipedia.org/wiki/Fork_and_pull_model
Will do. |
This will allow us to catch bitrotted changes like e-mission/e-mission-docs#513 or e-mission/e-mission-docs#511 and make it easier for people who don't want to use docker to install
This should avoid weird issues caused by bitrotted miniconda versions similar to e-mission/e-mission-docs#511 or e-mission/e-mission-docs#513 If such bitrotting happens, we need to upgrade the packages, but at least we will know that we need to, and people won't have unpleasant surprises when they try to install manually. Apparently, some people prefer to install manually e-mission/e-mission-docs#513
This is very similar to the travis.yml, but it is in Github actions, so it can run on all PRs to the repo, not just mine. Also includes a weekly scheduled run + runs on various ubuntu OSes to catch any bitrotting similar to e-mission/e-mission-docs#511 or e-mission/e-mission-docs#513
@lucazpinheiro I added a script to install the correct version of conda, and I added a check to the setup scripts which asks you to run it if the version does not match. Once you confirm that this makes sense, please close this issue. |
Tested it, but seems to still have a problem ran the setup script for conda
Then ran the 'server setup' script
Last ran the 'starter script' `./e-mission-py.bash emission/net/api/cfc_webapp.py``and got this:
|
ah so you don't have the whole output, but the problem is that earlier in
It's kind of buried because the script continues execution, but it's there. It turns out that my own local version of anaconda was even older, and it only supported I've now used the script on my own laptop (which meant that I had to handle Mac as well) and the setup works. Couple of questions:
|
I think that an explanation about the right version of
And that thing about the |
So we test install only ubuntu + osx and go back to linux only for install + tests This should also catch any inconsistencies between the dev setup and the test setup scripts (similar to e-mission/e-mission-docs#513 (comment))
* Multiple fixes to get conda setup working in more environments My personal laptop had a version of conda even older than the docker container. So old that it only supported `source activate` and not `conda activate`. So we used `source activate` in the setup script and checked for the CI variable before using it in `conda activate`. This: - supports `setup_conda` on multiple platforms - upgrades all setup scripts to use `conda install` - stops exiting from `check_for_conda` so it doesn't kill the shell - updates the manual install test to also include osx, and to add osx to the list of oses that we test against - also pass in the platform correctly per OS so that the installation will happen correctly * Mongodb install action only works on ubuntu So we test install only ubuntu + osx and go back to linux only for install + tests This should also catch any inconsistencies between the dev setup and the test setup scripts (similar to e-mission/e-mission-docs#513 (comment)) * Remove miniconda check since osx doesn't have miniconda preinstalled * Add exit codes so we can see why this is failing * Checking to see if the error is with which conda * Check the conda path only on linux Since it inexplicably fails on OSX + remove exit 1 since it is confusing in source scripts * Final fixes - switch to conda on teardown as well - actually switch to the environment after installing it to ensure that it exists * Some more clarity into what we are doing So that there is more indication of what failed if something fails
@lucazpinheiro thanks for the feedback. Since I spent some time creating the Also, can you pull from master and try again? As you can see from the passing CI, I believe everything should work now. |
There is probably a little error on the script, I ran it and got this:
I'm using linux mint 19.2 tina (based on Ubuntu 18.04 LTS) by the way. |
@lucazpinheiro The script is asking you to specify the platform for which you want to install conda (linux or mac).
|
Alright, ran the script and this is what happened: Running
If I ran
And when I tried to start the server the
If I didn't run
Do you think the problem may be with some env variable on my system? |
Couple of notes:
the
as you can see from the CI spec (https://github.com/e-mission/e-mission-server/blob/master/.github/workflows/osx-ubuntu-manual-install.yml) you have to run What I really want to do is to tell people to look at the CI and follow the steps there and look at the outputs there to see what is expected and what is not. Any thoughts on how best to reflect that in the documentation? Or is this too confusing and I should just tell people to install the correct version manually? |
Now it works perfect, it would be very helpful to put the explanation about the thing of running I just have a question on how the script would work if there was an anaconda/miniconda version already installed? I think the issue can be closed now, let me know if you agree or need something else to be tested. Once again, thanks for the help. |
@lucazpinheiro great to hear.
Great question! The user can choose a different install location and make sure to source the correct
Do you think you could submit a PR with the instructions? Many times, I find it hard to write the documentation since the steps are obvious to me. It helps a lot to have somebody with fresh eyes write it instead. You can edit the file directly in GitHub. Github will automatically create a fork + branch and allow you to submit the PR directly from the UI. It's just like editing a wiki! |
PR #520 English is not my first language, so probably there is some expressions wrong. |
@lucazpinheiro your English is very good! Certainly vastly better than my Portuguese 😄 and even better than my Hindi 🙏 I didn't see any error with your expressions Note also that if you want to use the e-mission phone app as well, the french team added i18n support, so it should be easy to add the Portuguese localization. If you do add this localization, please consider contributing it as well so that other groups can use it in the future. |
Closing this issue now that the instructions are clear. |
This will allow us to catch bitrotted changes like e-mission/e-mission-docs#513 or e-mission/e-mission-docs#511 and make it easier for people who don't want to use docker to install
This should avoid weird issues caused by bitrotted miniconda versions similar to e-mission/e-mission-docs#511 or e-mission/e-mission-docs#513 If such bitrotting happens, we need to upgrade the packages, but at least we will know that we need to, and people won't have unpleasant surprises when they try to install manually. Apparently, some people prefer to install manually e-mission/e-mission-docs#513
This is very similar to the travis.yml, but it is in Github actions, so it can run on all PRs to the repo, not just mine. Also includes a weekly scheduled run + runs on various ubuntu OSes to catch any bitrotting similar to e-mission/e-mission-docs#511 or e-mission/e-mission-docs#513
…sion#741) * Multiple fixes to get conda setup working in more environments My personal laptop had a version of conda even older than the docker container. So old that it only supported `source activate` and not `conda activate`. So we used `source activate` in the setup script and checked for the CI variable before using it in `conda activate`. This: - supports `setup_conda` on multiple platforms - upgrades all setup scripts to use `conda install` - stops exiting from `check_for_conda` so it doesn't kill the shell - updates the manual install test to also include osx, and to add osx to the list of oses that we test against - also pass in the platform correctly per OS so that the installation will happen correctly * Mongodb install action only works on ubuntu So we test install only ubuntu + osx and go back to linux only for install + tests This should also catch any inconsistencies between the dev setup and the test setup scripts (similar to e-mission/e-mission-docs#513 (comment)) * Remove miniconda check since osx doesn't have miniconda preinstalled * Add exit codes so we can see why this is failing * Checking to see if the error is with which conda * Check the conda path only on linux Since it inexplicably fails on OSX + remove exit 1 since it is confusing in source scripts * Final fixes - switch to conda on teardown as well - actually switch to the environment after installing it to ensure that it exists * Some more clarity into what we are doing So that there is more indication of what failed if something fails
I'm part of a team responsible for install the e-mission server, so we can test it and analyze it for possible use on future projects.
Some info on the system used:
OS version
Linux Mint 19.2 (Tina) based on Ubuntu 18.04
Log
conda info
We are trying to install the e-mission server through the manual installation following the guide/tutorial present on the project docs (https://github.com/e-mission/e-mission-docs/blob/master/docs/install/manual_install.md).
The process of installation was been carried on without problems until the last step when the server must be started with the command:
'
./e-mission-py.bash emission/net/api/cfc_webapp.py
'By running this command we got the following message:
We make sure to check if we ware in the right conda environment by running the
conda env list
command and by having(emission)
on the begging of our promptWe tried to install the 'future' module manually, with '
conda install future
' however, even after the installation was done, the 'future' module continuing missing.The process of installation of the server was carried with both, root user and not root user, still, we got the same problem in both cases.
We have searched for similar problems and found three reported issues that looked related. (#327, #485 and #314) seem related. However, only issues #327 and #485 seems to have a close relation to our problem.
The text was updated successfully, but these errors were encountered: