Monetdb on windows with embedded python 3.6
Hi, I have been successfully using monetdb (11.25.3) on windows with embedded python 2.7, recently I needed a library that is only supported on python 3.6, is it possible somehow to point monetdb to the python 3.6 folder? I know this is possible on linux, but my dev environment is on windows. Thank you.
Hai Imad, You can pass different values to the embedded_py option of mserver5: --set embedded_py=2 --set embedded_py=3 --set embedded_py=true Or if you use merovingian: $ monetdb set embedded_py=2 <database name> $ monetdb set embedded_py=3 <database name> $ monetdb set embedded_py=true <database name> The value 2 or 3 obviously tell mserver5 to use Python 2 or Python 3, respectively. The value “true” will cause your default Python version to be loaded. Does this help? Best, Jennie
On 10 Aug 2017, at 09:52, imad hajj chahine
wrote: Hi,
I have been successfully using monetdb (11.25.3) on windows with embedded python 2.7, recently I needed a library that is only supported on python 3.6, is it possible somehow to point monetdb to the python 3.6 folder?
I know this is possible on linux, but my dev environment is on windows.
Thank you. _______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
Hi Jennie,
Actually I tried to edit the file pyapi_locatepython.bat as it is called
from the M5server.bat to handle python loading options.
Please note that i uninstalled python 2.7 and i only have python 3.6
installed.
new pyapi_locatepython.bat content:
set LOCALPYTHONHOME=C:\Python36
set LOCALPYTHONPATH=C:\Python36\Lib
IF defined LOCALPYTHONHOME (
endlocal & (
set PYTHONHOME=%LOCALPYTHONHOME%
set PYTHONPATH=%LOCALPYTHONPATH%
set MONETDBPYTHONUDF=embedded_py=true
set "PATH=%LOCALPYTHONHOME%;%PATH%"
)
) ELSE (
@echo MonetDB/Python Disabled: Python 3.6 installation not found.
endlocal
)
I am having this error:
!SyntaxException:parseError:
!LoaderException:loadLibrary:Loading error failed to open library pyapi
(from wi
thin file 'C:\Program Files\MonetDB\MonetDB5\lib\monetdb5\lib_pyapi.dll'):
!SyntaxException:parseError:
!<identifier> expected
Thank you.
On Thu, Aug 10, 2017 at 5:51 PM, Ying Zhang
Hai Imad,
You can pass different values to the embedded_py option of mserver5:
--set embedded_py=2 --set embedded_py=3 --set embedded_py=true
Or if you use merovingian: $ monetdb set embedded_py=2 <database name> $ monetdb set embedded_py=3 <database name> $ monetdb set embedded_py=true <database name>
The value 2 or 3 obviously tell mserver5 to use Python 2 or Python 3, respectively. The value “true” will cause your default Python version to be loaded.
Does this help?
Best, Jennie
On 10 Aug 2017, at 09:52, imad hajj chahine
wrote: Hi,
I have been successfully using monetdb (11.25.3) on windows with embedded python 2.7, recently I needed a library that is only supported on python 3.6, is it possible somehow to point monetdb to the python 3.6 folder?
I know this is possible on linux, but my dev environment is on windows.
Thank you. _______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
Hey Imad, Unfortunately Python 3 support was never ported to Windows, and only works on Unix systems. By changing the Python directory as you are doing you are linking Python 2 code to the Python 3 libraries, which will not work and result in strange errors. There is no easy way to use Python 3 UDFs on Windows currently, although we may add support in a future version. Apologies for that. Regards, Mark
On 10 Aug 2017, at 18:48, imad hajj chahine
wrote: Hi Jennie,
Actually I tried to edit the file pyapi_locatepython.bat as it is called from the M5server.bat to handle python loading options. Please note that i uninstalled python 2.7 and i only have python 3.6 installed.
new pyapi_locatepython.bat content:
set LOCALPYTHONHOME=C:\Python36 set LOCALPYTHONPATH=C:\Python36\Lib IF defined LOCALPYTHONHOME ( endlocal & ( set PYTHONHOME=%LOCALPYTHONHOME% set PYTHONPATH=%LOCALPYTHONPATH% set MONETDBPYTHONUDF=embedded_py=true set "PATH=%LOCALPYTHONHOME%;%PATH%" ) ) ELSE ( @echo MonetDB/Python Disabled: Python 3.6 installation not found. endlocal )
I am having this error: !SyntaxException:parseError: !LoaderException:loadLibrary:Loading error failed to open library pyapi (from wi thin file 'C:\Program Files\MonetDB\MonetDB5\lib\monetdb5\lib_pyapi.dll'): !SyntaxException:parseError: !<identifier> expected
Thank you.
On Thu, Aug 10, 2017 at 5:51 PM, Ying Zhang
mailto:Y.Zhang@cwi.nl> wrote: Hai Imad, You can pass different values to the embedded_py option of mserver5:
--set embedded_py=2 --set embedded_py=3 --set embedded_py=true
Or if you use merovingian: $ monetdb set embedded_py=2 <database name> $ monetdb set embedded_py=3 <database name> $ monetdb set embedded_py=true <database name>
The value 2 or 3 obviously tell mserver5 to use Python 2 or Python 3, respectively. The value “true” will cause your default Python version to be loaded.
Does this help?
Best, Jennie
On 10 Aug 2017, at 09:52, imad hajj chahine
mailto:imad.hajj.chahine@gmail.com> wrote: Hi,
I have been successfully using monetdb (11.25.3) on windows with embedded python 2.7, recently I needed a library that is only supported on python 3.6, is it possible somehow to point monetdb to the python 3.6 folder?
I know this is possible on linux, but my dev environment is on windows.
Thank you. _______________________________________________ users-list mailing list users-list@monetdb.org mailto:users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org mailto:users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
Thank you, Mark.
On Fri, Aug 11, 2017 at 2:06 PM, Mark Raasveldt
Hey Imad,
Unfortunately Python 3 support was never ported to Windows, and only works on Unix systems. By changing the Python directory as you are doing you are linking Python 2 code to the Python 3 libraries, which will not work and result in strange errors. There is no easy way to use Python 3 UDFs on Windows currently, although we may add support in a future version. Apologies for that.
Regards,
Mark
On 10 Aug 2017, at 18:48, imad hajj chahine
wrote: Hi Jennie,
Actually I tried to edit the file pyapi_locatepython.bat as it is called from the M5server.bat to handle python loading options. Please note that i uninstalled python 2.7 and i only have python 3.6 installed.
new pyapi_locatepython.bat content:
set LOCALPYTHONHOME=C:\Python36 set LOCALPYTHONPATH=C:\Python36\Lib IF defined LOCALPYTHONHOME ( endlocal & ( set PYTHONHOME=%LOCALPYTHONHOME% set PYTHONPATH=%LOCALPYTHONPATH% set MONETDBPYTHONUDF=embedded_py=true set "PATH=%LOCALPYTHONHOME%;%PATH%" ) ) ELSE ( @echo MonetDB/Python Disabled: Python 3.6 installation not found. endlocal )
I am having this error: !SyntaxException:parseError: !LoaderException:loadLibrary:Loading error failed to open library pyapi (from wi thin file 'C:\Program Files\MonetDB\MonetDB5\lib\monetdb5\lib_pyapi.dll'): !SyntaxException:parseError: !<identifier> expected
Thank you.
On Thu, Aug 10, 2017 at 5:51 PM, Ying Zhang
wrote: Hai Imad,
You can pass different values to the embedded_py option of mserver5:
--set embedded_py=2 --set embedded_py=3 --set embedded_py=true
Or if you use merovingian: $ monetdb set embedded_py=2 <database name> $ monetdb set embedded_py=3 <database name> $ monetdb set embedded_py=true <database name>
The value 2 or 3 obviously tell mserver5 to use Python 2 or Python 3, respectively. The value “true” will cause your default Python version to be loaded.
Does this help?
Best, Jennie
On 10 Aug 2017, at 09:52, imad hajj chahine < imad.hajj.chahine@gmail.com> wrote:
Hi,
I have been successfully using monetdb (11.25.3) on windows with embedded python 2.7, recently I needed a library that is only supported on python 3.6, is it possible somehow to point monetdb to the python 3.6 folder?
I know this is possible on linux, but my dev environment is on windows.
Thank you. _______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
Hi Mark, The library I want to use is pystan and as you can check it requires python 3.5 or higher: http://pystan.readthedocs.io/en/latest/windows.html You mentioned earlier that you may add support in future version, do you have an estimate for this. Thanks On Fri, Aug 11, 2017 at 2:55 PM, imad hajj chahine < imad.hajj.chahine@gmail.com> wrote:
Thank you, Mark.
On Fri, Aug 11, 2017 at 2:06 PM, Mark Raasveldt
wrote: Hey Imad,
Unfortunately Python 3 support was never ported to Windows, and only works on Unix systems. By changing the Python directory as you are doing you are linking Python 2 code to the Python 3 libraries, which will not work and result in strange errors. There is no easy way to use Python 3 UDFs on Windows currently, although we may add support in a future version. Apologies for that.
Regards,
Mark
On 10 Aug 2017, at 18:48, imad hajj chahine
wrote: Hi Jennie,
Actually I tried to edit the file pyapi_locatepython.bat as it is called from the M5server.bat to handle python loading options. Please note that i uninstalled python 2.7 and i only have python 3.6 installed.
new pyapi_locatepython.bat content:
set LOCALPYTHONHOME=C:\Python36 set LOCALPYTHONPATH=C:\Python36\Lib IF defined LOCALPYTHONHOME ( endlocal & ( set PYTHONHOME=%LOCALPYTHONHOME% set PYTHONPATH=%LOCALPYTHONPATH% set MONETDBPYTHONUDF=embedded_py=true set "PATH=%LOCALPYTHONHOME%;%PATH%" ) ) ELSE ( @echo MonetDB/Python Disabled: Python 3.6 installation not found. endlocal )
I am having this error: !SyntaxException:parseError: !LoaderException:loadLibrary:Loading error failed to open library pyapi (from wi thin file 'C:\Program Files\MonetDB\MonetDB5\lib\mon etdb5\lib_pyapi.dll'): !SyntaxException:parseError: !<identifier> expected
Thank you.
On Thu, Aug 10, 2017 at 5:51 PM, Ying Zhang
wrote: Hai Imad,
You can pass different values to the embedded_py option of mserver5:
--set embedded_py=2 --set embedded_py=3 --set embedded_py=true
Or if you use merovingian: $ monetdb set embedded_py=2 <database name> $ monetdb set embedded_py=3 <database name> $ monetdb set embedded_py=true <database name>
The value 2 or 3 obviously tell mserver5 to use Python 2 or Python 3, respectively. The value “true” will cause your default Python version to be loaded.
Does this help?
Best, Jennie
On 10 Aug 2017, at 09:52, imad hajj chahine < imad.hajj.chahine@gmail.com> wrote:
Hi,
I have been successfully using monetdb (11.25.3) on windows with embedded python 2.7, recently I needed a library that is only supported on python 3.6, is it possible somehow to point monetdb to the python 3.6 folder?
I know this is possible on linux, but my dev environment is on windows.
Thank you. _______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
Hai Imad, If it’s at all possible, you can also consider switch to a Linux system, because new features are generally first implemented for Linux (like) systems, and MonetDB often runs (much) faster on a Linux system than on Windows. Best, Jennie
On 12 Aug 2017, at 19:22, imad hajj chahine
wrote: Hi Mark,
The library I want to use is pystan and as you can check it requires python 3.5 or higher: http://pystan.readthedocs.io/en/latest/windows.html You mentioned earlier that you may add support in future version, do you have an estimate for this.
Thanks
On Fri, Aug 11, 2017 at 2:55 PM, imad hajj chahine
wrote: Thank you, Mark. On Fri, Aug 11, 2017 at 2:06 PM, Mark Raasveldt
wrote: Hey Imad, Unfortunately Python 3 support was never ported to Windows, and only works on Unix systems. By changing the Python directory as you are doing you are linking Python 2 code to the Python 3 libraries, which will not work and result in strange errors. There is no easy way to use Python 3 UDFs on Windows currently, although we may add support in a future version. Apologies for that.
Regards,
Mark
On 10 Aug 2017, at 18:48, imad hajj chahine
wrote: Hi Jennie,
Actually I tried to edit the file pyapi_locatepython.bat as it is called from the M5server.bat to handle python loading options. Please note that i uninstalled python 2.7 and i only have python 3.6 installed.
new pyapi_locatepython.bat content:
set LOCALPYTHONHOME=C:\Python36 set LOCALPYTHONPATH=C:\Python36\Lib IF defined LOCALPYTHONHOME ( endlocal & ( set PYTHONHOME=%LOCALPYTHONHOME% set PYTHONPATH=%LOCALPYTHONPATH% set MONETDBPYTHONUDF=embedded_py=true set "PATH=%LOCALPYTHONHOME%;%PATH%" ) ) ELSE ( @echo MonetDB/Python Disabled: Python 3.6 installation not found. endlocal )
I am having this error: !SyntaxException:parseError: !LoaderException:loadLibrary:Loading error failed to open library pyapi (from wi thin file 'C:\Program Files\MonetDB\MonetDB5\lib\monetdb5\lib_pyapi.dll'): !SyntaxException:parseError: !<identifier> expected
Thank you.
On Thu, Aug 10, 2017 at 5:51 PM, Ying Zhang
wrote: Hai Imad, You can pass different values to the embedded_py option of mserver5:
--set embedded_py=2 --set embedded_py=3 --set embedded_py=true
Or if you use merovingian: $ monetdb set embedded_py=2 <database name> $ monetdb set embedded_py=3 <database name> $ monetdb set embedded_py=true <database name>
The value 2 or 3 obviously tell mserver5 to use Python 2 or Python 3, respectively. The value “true” will cause your default Python version to be loaded.
Does this help?
Best, Jennie
On 10 Aug 2017, at 09:52, imad hajj chahine
wrote: Hi,
I have been successfully using monetdb (11.25.3) on windows with embedded python 2.7, recently I needed a library that is only supported on python 3.6, is it possible somehow to point monetdb to the python 3.6 folder?
I know this is possible on linux, but my dev environment is on windows.
Thank you. _______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
_______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list
participants (3)
-
imad hajj chahine
-
Mark Raasveldt
-
Ying Zhang