|
2 | 2 |
|
3 | 3 | version:@[{EMBEDPYVERSION};0;`development];
|
4 | 4 |
|
5 |
| -$[(.z.o like"w*");if[3.6>.z.K;'`$"kdb+ version must be 3.6+"];if[3.5>.z.K;'`$"kdb+ version must be 3.5+"]]; |
| 5 | +o:first string .z.o; |
| 6 | +$[o="w";if[3.6>.z.K;'`$"kdb+ version must be 3.6+"];if[3.5>.z.K;'`$"kdb+ version must be 3.5+"]]; |
6 | 7 | if[not .P.loaded:-1h=type@[`.p@;`numpy;`];
|
7 | 8 | sc:{"'",x,"'.join([__import__('sysconfig').get_config_var(v)for v in",ssr[.j.j y;"\"";"'"],"])"};pr:{"print(",x,");"};
|
8 |
| - c:"-c \"",pr["'.'.join([str(getattr(__import__('sys').version_info,x))for x in ['major','minor']])"],"\"2>",$[.z.o like"w*";"nul <nul";"/dev/null"]; |
9 |
| - if[(.z.o like"w*")and `3.6>`$first@[system"python3 ",;c;{system"python ",c}];'"embedPy requires python 3.6 or higher on windows"]; |
10 |
| - c:"-c \"",pr[$[.z.o like"w*";sc["/python";`BINDIR`VERSION],"+'.dll'";sc["/";`LIBDIR`INSTSONAME]]],pr[$[.z.o like"m*";sc["/";`PYTHONFRAMEWORKPREFIX`INSTSONAME];.z.o like"l*";sc["/libpython";`LIBDIR`LDVERSION],"+'.so'";"''"]],pr["__import__('sys').base_prefix"],pr["__import__('sys').prefix"],pr["__import__('sys').executable"],"\"2>",$[.z.o like"w*";"nul <nul";"/dev/null"]; |
11 |
| - `L`M`H`P`B set'@[system"python3 ",;c;{system"python ",c}];if[count M;if[k~key k:`$":",M;L::M]];.P.env:not H~P; |
| 9 | + c:"-c \"",pr["'.'.join([str(getattr(__import__('sys').version_info,x))for x in ['major','minor']])"],"\"2>",$[o="w";"nul <nul";"/dev/null"]; |
| 10 | + if[(o="w")and `3.6>`$first@[system"python3 ",;c;{system"python ",c}];'"embedPy requires python 3.6 or higher on windows"]; |
| 11 | + c:"-c \"",pr[$[o="w";sc["/python";`BINDIR`VERSION];sc["/libpython";`LIBDIR`LDVERSION]],"+'",$[o="w";".dll";o="l";".so";".dylib"],"'"],pr["__import__('sys').base_prefix"],pr["__import__('sys').prefix"],pr["__import__('sys').executable"],"\"2>",$[o="w";"nul <nul";"/dev/null"]; |
| 12 | + `L`H`P`B set'@[system"python3 ",;c;{system"python ",c}]; |
| 13 | + .P.env:not H~P; |
12 | 14 | .p:(`:./p 2:(`init;3))[L;H;B]]
|
13 | 15 | loaded:.P.loaded
|
14 | 16 | if[not loaded;
|
15 | 17 | ei:{eo y _ x;n set .p.get[n:`$(2+x)_(y?"(")#y]value y x;};
|
16 | 18 | eo:.p.e;
|
17 |
| - e:{$["def"~3#x;$[x[3]in"<*>";ei 3;eo];"class"~5#x;$[x[5]in"*>";ei 5;eo];eo]x}]; |
| 19 | + e:{$["def"~3#x;$[x[3]in"<*>";ei 3;eo];"class"~5#x;$[x[5]in"*>";ei 5;eo];eo]x} |
| 20 | + ]; |
18 | 21 | k)c:{'[y;x]}/|: / compose list of functions
|
19 | 22 | k)ce:{'[y;x]}/enlist,|: / compose with enlist (for variadic functions)
|
20 | 23 |
|
|
0 commit comments