materialsproject / fireworks

The Fireworks Workflow Management Repo.
https://materialsproject.github.io/fireworks
Other
346 stars 179 forks source link

ImportError: No module named flask.ext.paginate #135

Closed paulfons closed 8 years ago

paulfons commented 8 years ago

I have gone through the quick start and had a couple of problems I thought I would pass along. The first one is solved, but the second I am still confused about.

  1. I installed mongodb via yum on CentOS 7 without trouble, but I was unable to start the database until I realized that the default location of the database is in /data/db (at least on CentOS 7). Making the directory and giving the appropriate permissions fixed this problem and the rest of the "five minute quick start" went forward without issue. It might be a useful thing to mention the permission issue in the tutorial.
  2. I was unable to start the webgui presumably due to some missing python libraries. When I attempt to start the webgui, I encounter the error: "ImportError: No module named flask.ext.paginate". I have installed flask via python as well as flask-monoengine, but the webgui still doesn't start. Are there are other libraries that need to be installed as well?
computron commented 8 years ago

Hi Paul,

Thanks for your feedback in the tutorial.

  1. Note that the current tutorial already guides you to using the "--dbpath" variable to setting your data dir (this is a bit more practical on say, a shared machine where you might not be able to set the data directory permissions. I will make it a bit clearer for the next round of docs to be released Friday.
  2. You also need Flask-paginate (pip install Flask-paginate). This was listed in the docs until just yesterday, but I updated the docs and forgot I had removed those instructions since the next FWS release will include Flask and Flask-paginate as dependencies (so the user will not need to install them). All should be synced up by Friday, but in the meantime just install Flask-paginate. As an aside, flask-mongoengine should not be needed.
paulfons commented 8 years ago

Dear Jain,

Thank you for your email and quick response to my questions. I would like to express my gratitude to you and the other members of the materials project for putting together such a useful collection of tools. I have been using VASP in conjunction with atomic simulation environment and a modification of the environment called Jasp, but greatly appreciate the depth and speed of development of the materials project. For Jasp, one can set up a calculation using ASE like syntax and then ask the Jasp extension to run the job (via torque). I would like to replace this by fireworks and pymatgen. I am a researcher at a national laboratory here working on both experiment and computational physics approaches to materials relating to topological insulators (among other things) and while I would like to read through all of the individual module documentation and comprehensively understand the setup and use of pymatgen, fireworks, and custodian, I really need to get things done in the meantime. To this end it would be very useful to have a simple set of example programs that do straightforward things like calculate using VASP a band structure and along with some associated analysis like the projected density of states for example. This way it would be possible to learn step by step while actually getting some productive work done while learning. Some examples showing the interactions between the different components would be very useful to get people up to speed in calculating and running a set of mpi VASP jobs that, for example, looked at the effect of changing lattice constants with the results being stored in a mongodb database for later analysis. Do you know of any repository of such examples?

Best wishes, Paul

Dr. Paul Fons Chief Researcher Systematic Materials Design Group Nanoelectronics Research Institute National Institute for Advanced Industrial Science & Technology, METI

AIST Central 5, Higashi 1-1-1Tsukuba, Ibaraki JAPAN 305-8565

tel. +81-298-61-5636fax. +81-298-61-2939

email: paul-fons@aist.go.jp mailto:paul-fons@aist.go.jp

The following lines are in a Japanese font

〒305-8565 茨城県つくば市つくば東 1-1-1 中央第5 国立研究開発法人産業技術総合研究所  ナノエレクトロニクス研究部門 システマティックマテリアルズデサイングループ 上級主任研究員 ポール・フォンス

On Nov 19, 2015, at 7:46 PM, Anubhav Jain notifications@github.com wrote:

Hi Paul,

Thanks for your feedback in the tutorial.

Note that the current tutorial already guides you to using the "--dbpath" variable to setting your data dir (this is a bit more practical on say, a shared machine where you might not be able to set the data directory permissions. I will make it a bit clearer for the next round of docs to be released Friday.

You also need Flask-paginate (pip install Flask-paginate). This was listed in the docs until just yesterday, but I updated the docs and forgot I had removed those instructions since the next FWS release will include Flask and Flask-paginate as dependencies (so the user will not need to install them). All should be synced up by Friday, but in the meantime just install Flask-paginate. As an aside, flask-mongoengine should not be needed.

— Reply to this email directly or view it on GitHub https://github.com/materialsproject/fireworks/issues/135#issuecomment-158020138.

computron commented 8 years ago

Hi Paul,

Myself and many others agree with you, i.e., that there should be some code that helps people incorporate FireWorks and pymatgen into practical tools for running materials science workflows.

We have already released MPWorks (github.com/materialsproject/MPWorks), which is the version of materials science workflows that is used and developed by Materials Project. Unfortunately, it is overly complicated and difficult to get started with. This is partly because this codebase tries to solve very specific problems for the Materials Project itself, partly because it was constructed in a bit of a rush, and partly because it could have balanced simplicity against functionality better in several places. While this code is open-source and actively developed, I would not recommend this as a starting point for anyone.

I am personally working on an alternative code that is more along the lines of what you are after. However, because I don't have too much time for coding these days and my postdocs are yet to arrive, it is taking a lot longer than expected. Thus, it might be several months before it is in any kind of usable shape. However, I hope that within 1 year or so the issue that you've described will no longer be a problem.

You can check the progress of this new code here: https://github.com/hackingmaterials/matmethods

and another code that was its precursor here: https://github.com/materialsvirtuallab/fireworks-vasp

However, I regret to say that I cannot point to a truly good solution in the meantime as these codes are being developed.

Best, Anubhav

p.s. If you could follow the conventions below for posting issues, it would greatly help:

1) FireWorks issues (nothing to do with materials science): https://groups.google.com/forum/#!forum/fireworkflows

2) Pymatgen questions / discussion (nothing to do with workflows or Materials Project): https://groups.google.com/forum/#!forum/pymatgen

3) Pymatgen issues (nothing to do with workflows or Materials Project): https://github.com/materialsproject/pymatgen/issues

4) Materials project developer questions / issues (your current email fits most neatly here): https://groups.google.com/forum/#!forum/matproj-develop

On Thu, Nov 19, 2015 at 3:37 PM, paulfons notifications@github.com wrote:

Dear Jain,

Thank you for your email and quick response to my questions. I would like to express my gratitude to you and the other members of the materials project for putting together such a useful collection of tools. I have been using VASP in conjunction with atomic simulation environment and a modification of the environment called Jasp, but greatly appreciate the depth and speed of development of the materials project. For Jasp, one can set up a calculation using ASE like syntax and then ask the Jasp extension to run the job (via torque). I would like to replace this by fireworks and pymatgen. I am a researcher at a national laboratory here working on both experiment and computational physics approaches to materials relating to topological insulators (among other things) and while I would like to read through all of the individual module documentation and comprehensively understand the setup and use of pymatgen, fireworks, and custodian, I really need to get things done in the meantime. To this end it would be very useful to have a simple set of example programs that do straightforward things like calculate using VASP a band structure and along with some associated analysis like the projected density of states for example. This way it would be possible to learn step by step while actually getting some productive work done while learning. Some examples showing the interactions between the different components would be very useful to get people up to speed in calculating and running a set of mpi VASP jobs that, for example, looked at the effect of changing lattice constants with the results being stored in a mongodb database for later analysis. Do you know of any repository of such examples?

Best wishes, Paul

Dr. Paul Fons Chief Researcher Systematic Materials Design Group Nanoelectronics Research Institute National Institute for Advanced Industrial Science & Technology , METI

AIST Central 5, Higashi 1-1-1Tsukuba, Ibaraki JAPAN 305-8565

tel. +81-298-61-5636fax. +81-298-61-2939

email: paul-fons@aist.go.jp mailto:paul-fons@aist.go.jp

The following lines are in a Japanese font

〒305-8565 茨城県つくば市つくば東 1-1-1 中央第5 国立研究開発法人産業技術総合研究所 ナノエレクトロニクス研究部門 システマティックマテリアルズデサイングループ 上級主任研究員 ポール・フォンス

On Nov 19, 2015, at 7:46 PM, Anubhav Jain notifications@github.com wrote:

Hi Paul,

Thanks for your feedback in the tutorial.

Note that the current tutorial already guides you to using the "--dbpath" variable to setting your data dir (this is a bit more practical on say, a shared machine where you might not be able to set the data directory permissions. I will make it a bit clearer for the next round of docs to be released Friday.

You also need Flask-paginate (pip install Flask-paginate). This was listed in the docs until just yesterday, but I updated the docs and forgot I had removed those instructions since the next FWS release will include Flask and Flask-paginate as dependencies (so the user will not need to install them). All should be synced up by Friday, but in the meantime just install Flask-paginate. As an aside, flask-mongoengine should not be needed.

— Reply to this email directly or view it on GitHub < https://github.com/materialsproject/fireworks/issues/135#issuecomment-158020138 .

— Reply to this email directly or view it on GitHub https://github.com/materialsproject/fireworks/issues/135#issuecomment-158234707 .