Re: Python 3.2 XP64 and Numpy...

From: Rémi Cura <remi(dot)cura(at)gmail(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Cc: PostgreSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Python 3.2 XP64 and Numpy...
Date: 2015-06-01 17:02:47
Message-ID: CAJvUf_uT_TpLG2aXfTx2crUvDwWTuk5Fbcxks-wVa2hdVwSsAQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Here is the test code
---------------
--creating plpython3u
DROP LANGUAGE plpython3u CASCADE;
CREATE LANGUAGE plpython3u ;

--create a test function
DROP FUNCTION IF EXISTS rc_test_python( );
CREATE FUNCTION rc_test_python( )
RETURNS void
AS $$"""
@brief This function test python
"""
import sys
import imp
#sys.path.insert(0, 'C:\\Python32\\Lib\\site-packages\\numpy')
plpy.notice(sys.path)
plpy.notice('importing numpy')
#import numpy #first way to do it

file, pathname, description = imp.find_module('numpy')
plpy.notice(file, pathname, description) # numpy was found
imp.load_module('numpy',file, pathname, description ) #second way to do it
plpy.notice('end of importing numpy, this message won t show, an exception
is raised before')
#plpy.notice(numpy.__version__)
import helloworld as h
imp.reload(h)
s = h.helloworld()
plpy.notice(s)
return
$$ LANGUAGE plpython3u IMMUTABLE STRICT;

--call function
SELECT *
FROM rc_test_python( ) ;
---------------------
---------------

2015-06-01 18:09 GMT+02:00 Rémi Cura <remi(dot)cura(at)gmail(dot)com>:

> Hey, thanks to help me with that.
> I started fresh to have a truly reproducible process,
> so you can have all information and rule out some error possibilities.
>
> - Uninstall all python.
> - Check that PythonPath doesn't exist anymore
> - check that python doesn't exist anymore
>
> - install python 3.2.5 64 bit from official python website into C/Python32
>
> - Reload configuration for server.
>
> - create plpython3u , create a python function, test it (show path)
>
> * It works, python path is
> 'C:\\Windows\\system32\\python32.zip', 'C:\\Python32\\Lib',
> 'C:\\Python32\\DLLs', 'E:\\9.3\\data', 'C:\\Program
> Files\\PostgreSQL\\9.3\\bin', 'C:\\Python32',
> 'C:\\Python32\\lib\\site-packages'
>
> - Donwload latest numpy from website.
> - ON antoher PC
> * Compile numpy with visual 2008 , 64 bit
> * Create an binary installer for windows (using python.exe setup.py
> )with proper argument
>
> - On the server :
> - install numpy with the compiled installer.
>
>
> - check that numpy is correctly installer in C:\Python32\Lib\site-packages
> - using an external terminal, check that numpy works (import numpy -> OK)
>
> - Now, define a plpython3u function containing "import numpy"
>
> - Run the function --> error is
> "ERREUR: ImportError: DLL load failed: Le module spécifié est
> introuvable.",
> which roughly translate to
> "ERROR: ImportError : DLL load failed : the specified module couldn't be
> found".
>
> - Create a plpython3u function returning sys.path
> the path is "C:\\Windows\\system32\\python32.zip', 'C:\\Python32\\Lib',
> 'C:\\Python32\\DLLs', 'E:\\9.3\\data', 'C:\\Program
> Files\\PostgreSQL\\9.3\\bin', 'C:\\Python32',
> 'C:\\Python32\\lib\\site-packages"
> numpy is in this path, in C:\\Python32\\lib\\site-packages
> All user of the computer have all rights on the
> C:\\Python32\\lib\\site-packages folder
>
>
> - execute `import imp; imp.find_package('numpy')` within the plpython3u
> function
> -> returns "None, 'C:\\Python32\\lib\\site-packages\\numpy', ('', '',
> 5)"
>
> - create a helloworld module , put it next to numpy, try to call it
> -> it gets called
>
> I really don't see what I can do more.
>
> Cheers,
> Rémi-C
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2015-06-01 17:41:46 Re: Python 3.2 XP64 and Numpy...
Previous Message Rémi Cura 2015-06-01 16:09:38 Re: Python 3.2 XP64 and Numpy...