[petsc-users] Building petsc4py / mpi4py

Barry Smith bsmith at mcs.anl.gov
Mon Jan 23 10:39:12 CST 2017


   mpi4py.py and petsc4py.py should have a --with-mpi/petsc4py-python=fullpathforpython and use that otherwise use the python in the path ( have a warning box if the python in the path is different from the python being used for configure)

   Barry



> On Jan 23, 2017, at 9:22 AM, Satish Balay <balay at mcs.anl.gov> wrote:
> 
> Looks like --download-petsc4py [and --download-mpi4py] uses python
> from PATH - and not the one used by configure.
> 
> 'mpi4py-1.3.1-py3.6.egg-info' suggests that default 'python' in PATH is python-3.6. So try:
> 
> python RBF_Load.py
> 
> Should we use the same python for configure and all external python packages?
> [petsc configure is limited to python2 - but petsc4py works with python3]
> How about other externalpackages that use python? [scientificpython.py etc..
> 
> Satish
> 
> On Mon, 23 Jan 2017, Florian Lindner wrote:
> 
>> Hello,
>> 
>> I try to build petsc from the maint branch together with petsc4py and mpi4py
>> 
>> python2 configure --download-petsc4py=yes --download-mpi4py=yes --with-mpi4py=yes --with-petsc4py=yes --with-debugging=1
>> make
>> 
>> works without errors, so does make test.
>> 
>> % echo $PYTHONPATH
>> /home/florian/software/petsc/arch-linux2-c-debug/lib
>> 
>> % ls $PYTHONPATH
>> libpetsc.so  libpetsc.so.3.7  libpetsc.so.3.7.5  mpi4py  mpi4py-1.3.1-py3.6.egg-info  petsc  petsc4py
>> petsc4py-3.7.0-py3.6.egg-info  pkgconfig
>> 
>> 
>> but:
>> 
>> % python2 RBF_Load.py
>> Traceback (most recent call last):
>>  File "RBF_Load.py", line 10, in <module>
>>    petsc4py.init(sys.argv)
>>  File "/home/florian/software/petsc/arch-linux2-c-debug/lib/petsc4py/__init__.py", line 42, in init
>>    PETSc = petsc4py.lib.ImportPETSc(arch)
>>  File "/home/florian/software/petsc/arch-linux2-c-debug/lib/petsc4py/lib/__init__.py", line 29, in ImportPETSc
>>    return Import('petsc4py', 'PETSc', path, arch)
>>  File "/home/florian/software/petsc/arch-linux2-c-debug/lib/petsc4py/lib/__init__.py", line 63, in Import
>>    fo, fn, stuff = imp.find_module(name, pathlist)
>> ImportError: No module named PETSc
>> 
>> 
>> Anyone having an idea what could be the problem here?
>> I have also attached the configure.log
>> 
>> Best,
>> Florian
>> 
> 



More information about the petsc-users mailing list