LLNL / MemSurfer

MemSurfer is a software tool to compute bilayer membrane surfaces.
GNU General Public License v3.0
24 stars 9 forks source link

Importing the module after building fails #6

Open daf276 opened 4 years ago

daf276 commented 4 years ago

After following the installation/compilation steps descriped in the readme, importing the module fails with the message: ImportError: cannot import name '_pymemsurfer' from partially initialized module 'memsurfer' (most likely due to a circular import) This happens when trying to run the ex_simple.py or otherwise importing the module. Tested on Arch with python 3.7 and 3.8

Traceback: File "examples/ex_simple.py", line 20, in import memsurfer File "/home/user/python37/lib/python3.7/site-packages/memsurfer-1.0.0-py3.7-linux-x8664.egg/memsurfer/__init_\.py", line 15, in from .membrabe import Membrane File "/home/user/python37/lib/python3.7/site-packages/memsurfer-1.0.0-py3.7-linux-x86_64.egg/memsurfer/membrane.py", line 21, in from . import pymemsurfer File "/home/user/python37/lib/python3.7/site-packages/memsurfer-1.0.0-py3.7-linux-x86_64.egg/memsurfer/pymemsurfer.py", line 13, in from . import _pymemsurfer ImportError: cannot import name '_pymemsurfer' from partially initialized module 'memsurfer' (most likely due to a circular import) (/home/user/python37/lib/python3.7/site-packages/memsurfer-1.0.0-py3.7-linux-x8664.egg/memsurfer/__init_\.py)

bhatiaharsh commented 4 years ago

Interesting. I never caught this problem with python3.7.2. Can you please try the following and report back if this works?

  1. /home/user/python37/lib/python3.7/site-packages/memsurfer-1.0.0-py3.7-linux-x86_64.egg/memsurfer/__init__.py -- Comment line 15 (the import statement)

  2. ex_simple.py -- add from memsurfer import membrane -- change lines 63, 95, and 96: replace memsurfer.Membrane with memsurfer.membrane.Membrane

If this example works, you can make changes to the other examples as well. If this works, I will move this changes to the repo.