Skip to content
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

"ImportError: No module named pyslurm" despite successful install #50

Closed
ajmazurie opened this issue Nov 27, 2015 · 4 comments
Closed

Comments

@ajmazurie
Copy link

Hi guys,
I was able to successfully (I believe) compile the pyslurm module, despite a few warnings:

$ python setup.py build --slurm-inc=/cm/shared/apps/slurm/14.11.6/include --slurm-lib=/cm/shared/apps/slurm/14.11.6/lib64
INFO:root:Info: 
INFO:root:Info: Building PySlurm (14.11.5)
INFO:root:Info: ------------------------------
INFO:root:Info: 
INFO:root:Info: Cython version 0.22 installed

INFO:root:Info: Clean - checking for objects to clean
INFO:root:Info: Clean - completed
INFO:root:Info: Build - Detected Slurm include file version - 0x0e0b06 (14.11.6)
INFO:root:Info: Build - Writing Slurm version to pyslurm/slurm_version.pxi
INFO:root:Info: Build - Generating pyslurm/bluegene.pxi file
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/pyslurm
copying pyslurm/__init__.py -> build/lib.linux-x86_64-2.7/pyslurm
running build_ext
cythoning pyslurm/pyslurm.pyx to pyslurm/pyslurm.c
building 'pyslurm.pyslurm' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/pyslurm
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/cm/shared/apps/slurm/14.11.6/include -I. -I/home/aurelien.mazurie/.pyenv/versions/2.7.9/include/python2.7 -c pyslurm/pyslurm.c -o build/temp.linux-x86_64-2.7/pyslurm/pyslurm.o
In file included from pyslurm/pyslurm.c:255:0:
/cm/shared/apps/slurm/14.11.6/include/slurm/slurm.h:1605:2: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  void (*acct_full)();
  ^
/cm/shared/apps/slurm/14.11.6/include/slurm/slurm.h:1606:2: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  void (*dbd_fail)();
  ^
/cm/shared/apps/slurm/14.11.6/include/slurm/slurm.h:1607:2: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  void (*dbd_resumed)();
  ^
/cm/shared/apps/slurm/14.11.6/include/slurm/slurm.h:1608:2: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  void (*db_fail)();
  ^
/cm/shared/apps/slurm/14.11.6/include/slurm/slurm.h:1609:2: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
  void (*db_resumed)();
  ^
In file included from pyslurm/pyslurm.c:256:0:
/cm/shared/apps/slurm/14.11.6/include/slurm/slurmdb.h:1193:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
 extern void *slurmdb_connection_get();
 ^
gcc -pthread -shared -L/home/aurelien.mazurie/.pyenv/versions/2.7.9/lib build/temp.linux-x86_64-2.7/pyslurm/pyslurm.o -L/cm/shared/apps/slurm/14.11.6/lib64 -L/cm/shared/apps/slurm/14.11.6/lib64/slurm -Wl,-R/cm/shared/apps/slurm/14.11.6/lib64/ -Wl,-R/cm/shared/apps/slurm/14.11.6/lib64/slurm -lslurmdb -o build/lib.linux-x86_64-2.7/pyslurm/pyslurm.so

I was then able to install the module with python setup.py install:

INFO:root:Info: 
INFO:root:Info: Building PySlurm (14.11.5)
INFO:root:Info: ------------------------------
INFO:root:Info: 
INFO:root:Info: Cython version 0.22 installed

running install
running build
running build_py
running build_ext
skipping 'pyslurm/pyslurm.c' Cython extension (up-to-date)
running install_lib
creating /home/aurelien.mazurie/.pyenv/versions/pyslurm/lib/python2.7/site-packages/pyslurm
copying build/lib.linux-x86_64-2.7/pyslurm/pyslurm.so -> /home/aurelien.mazurie/.pyenv/versions/pyslurm/lib/python2.7/site-packages/pyslurm
copying build/lib.linux-x86_64-2.7/pyslurm/__init__.py -> /home/aurelien.mazurie/.pyenv/versions/pyslurm/lib/python2.7/site-packages/pyslurm
byte-compiling /home/aurelien.mazurie/.pyenv/versions/pyslurm/lib/python2.7/site-packages/pyslurm/__init__.py to __init__.pyc
running install_egg_info
Writing /home/aurelien.mazurie/.pyenv/versions/pyslurm/lib/python2.7/site-packages/pyslurm-14.11.5-py2.7.egg-info

But when attempting to import it in Python, I get an ImportError:

Python 2.7.9 (default, Feb 23 2015, 14:53:24) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyslurm
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pyslurm/__init__.py", line 17, in <module>
    from .pyslurm import *
ImportError: No module named pyslurm
>>> 

Any idea about why I get this error message?

Best,
Aurélien

@gingergeeks
Copy link
Member

Aurélien,
Ok, so here you are using pyenv which I must confess to not having tested with PySlurm. Which directory are you sitting in at the point of running the python interpreter/import ?

Mark

@gingergeeks
Copy link
Member

Aurélien,
If you are in a directory that has a directory called pyslurm then the relative import line "from .pyslurm import *" will attempt to use that directory. Best you come out of that directory and try again.

Mark

@ajmazurie
Copy link
Author

Mark,
I think you found the problem, thanks!

Best,
Aurélien

@gingergeeks
Copy link
Member

I might add some notes to the wiki for common problems such as this that can be solved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants