From 3e1f35ce229bf9b96e13163972f5f92600104846 Mon Sep 17 00:00:00 2001 From: XMC Date: Mon, 14 Jan 2019 09:34:12 -0800 Subject: [PATCH 1/2] Add attr python_interpreter to pip.bzl/whl.bzl This commit also added --python_interpreter argument to piptool.py to support this attribute. Example usage: pip_import( name = 'pip_deps', requirements = '//:requirements.txt', python_interpreter = 'python3.7', ) --- python/pip.bzl | 5 ++++- python/whl.bzl | 3 ++- rules_python/piptool.py | 5 +++++ tools/piptool.par | Bin 5879466 -> 5880757 bytes tools/whltool.par | Bin 1386426 -> 1387233 bytes 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/python/pip.bzl b/python/pip.bzl index 9d27794e4d..64e683d132 100644 --- a/python/pip.bzl +++ b/python/pip.bzl @@ -24,8 +24,10 @@ def _pip_import_impl(repository_ctx): # To see the output, pass: quiet=False result = repository_ctx.execute([ - "python", + repository_ctx.attr.python_interpreter, repository_ctx.path(repository_ctx.attr._script), + "--python_interpreter", + repository_ctx.attr.python_interpreter, "--name", repository_ctx.attr.name, "--input", @@ -41,6 +43,7 @@ def _pip_import_impl(repository_ctx): pip_import = repository_rule( attrs = { + "python_interpreter": attr.string(default="python"), "requirements": attr.label( mandatory = True, allow_single_file = True, diff --git a/python/whl.bzl b/python/whl.bzl index 3f869c29ec..2eebfee49f 100644 --- a/python/whl.bzl +++ b/python/whl.bzl @@ -17,7 +17,7 @@ def _whl_impl(repository_ctx): """Core implementation of whl_library.""" args = [ - "python", + repository_ctx.attr.python_interpreter, repository_ctx.path(repository_ctx.attr._script), "--whl", repository_ctx.path(repository_ctx.attr.whl), @@ -37,6 +37,7 @@ def _whl_impl(repository_ctx): whl_library = repository_rule( attrs = { + "python_interpreter": attr.string(default="python"), "whl": attr.label( mandatory = True, allow_single_file = True, diff --git a/rules_python/piptool.py b/rules_python/piptool.py index f5d504aa87..47fc3cdcf7 100644 --- a/rules_python/piptool.py +++ b/rules_python/piptool.py @@ -84,6 +84,9 @@ def pip_main(argv): parser = argparse.ArgumentParser( description='Import Python dependencies into Bazel.') +parser.add_argument('--python_interpreter', action='store', + help=('The python python interpreter to use ')) + parser.add_argument('--name', action='store', help=('The namespace of the import.')) @@ -175,10 +178,12 @@ def whl_library(wheel): if "{repo_name}" not in native.existing_rules(): whl_library( name = "{repo_name}", + python_interpreter = "{python_interpreter}", whl = "@{name}//:{path}", requirements = "@{name}//:requirements.bzl", extras = [{extras}] )""".format(name=args.name, repo_name=wheel.repository_name(), + python_interpreter=args.python_interpreter, path=wheel.basename(), extras=','.join([ '"%s"' % extra diff --git a/tools/piptool.par b/tools/piptool.par index 11ec453cd739666539b47b41bdd3e783a6929200..15cb46a098f72a4166d793f08568eed3fc83f4c7 100755 GIT binary patch delta 9598 zcmdT}hhJ3Jww5yr!_3fBno9j+l0=P?s=4=S-nY*_fy2G;{Q-~PZ+ZN_wf0(Tuf6s@WnTaB zzHs8{eW7l+u4Dd%Ef0O#w0Y=rEbFwPeR)k)ahWBz#8OpMSzcL$f2GTVdiZhLs9aQ9 zV^x{4+FE3k@*KSCa|i9#2mQAPW1P`{=6}=D0gsFH__3d@XwPU@ zYHBjKt*`Oy-_G&y{0AQQz1y^565NJXyNe<9zxnvtb}qxvysF}`5^G+*)tn|~B#lVT z?Vp^QI7*ay1SHr(Z!IdXuMW6oW3bj(!w_uhnDDVWvgtp(1J%9l)YijVRh^$Zp`^6P zk~gI&C|YO4ALA%uPl~4*4ki{=6-+BM2ZhLVi>VH#(~2?Bm{D21CfrS`HaUlxO<_gT zi%iCn3C3h=R*9vsY?{>^WGpI0$xNmoV>hEItg_m|;#o~P+W9QjRoZRpP-`@z_SKaZ ze8ZIYk6Kl5sLtYVxEhcVtFj6Zl%c_7M#=UD98lA=1Nme&i@g(yAnCrBzv5a zS5;74mOqJkDhgvr8e;DFpVMQpF^#{Bqjgkq+u)^%2+~o+PbqG6^+IO5=>M&HMq_?u zQQl-ZR23>-RE0n&B*?JcvdtkM&I83&*XL;`8!1*BN8ETK2~Z$=67=N_2K| zyt8NPR6>+dK{_2BYcRXlpD~}bHFhy3PhbVLlvpOB3ypb3Yo4Vrzihe@7o(+&8nR)f|{z&WGx;s$W#<>1&wI~sKr(mkFu&l^xF;y9hkrdhsC9IxO zWT~lvEk>3aYB}N=s|7q}QZw7BL0J8Y9}FGqbNdw7IG$U* zyLJcmB$H5OU;evqf&Tx&sq%Z<`R`;ddMDEcB0w~dwvcuZTZkP*3$cgjAbN-a;s9}k zI6<5tE|B(+4v>xzSBM+L9pVA;gmi**hIm1|AwCdah!Nrk@rQJQbcF;!0wE@d84?5u zhIE63Ktds5knWIhNCcz@BofjS(hJfX5(Vi4=?jU5#6V&pagcaOKS%;35z-$r05T9V z2r?Kl1d;?vh75%agQP%)LsB6lAZd`1kWr9yNCspygw-|c&37`h1J0^$H}t?wOcv68 z+3_7fFS(1Iy;`5^ZB&2TWwThX)*YrYXmcq}z7LSAhZrinHAeO-JSJ%V{8eGEd{`<>eS z)kidPzKy$d@jD%@>Wpw}JJT^Q(Vb4a+34sS#(4TL#)ksE#9qRda1LgAi9Lmc#SDxW z&Msls5bEbGh6}w{QH8gdD=gYc5k6u#ed!~1AXgt`@n|<=CJHC_vTG0e)JKdGZXV~r zc+|#`zVboF_Q!418QPwr3SV)YaP4hs^cC|3+s7a znV|BnVw_O_M>A+kkAJmwp$D+he4(|YxgK_b6c-@&)p&c$C`h_Ua<;*mGS2iS=RjCj znHB4UUFHL z79)gT=P@u&_+d3&HH$fd-+6ZJCT(A7&k}W}q>t^?D>djcvk#)$kL~Q~Y!DLh7^?U^7{CP`D zE?;ZA)7EaV`u9M4h61Un8)hi1vFDD@N^L1MM2ykQ`Jjc7ZmxDFb13rtA_U9)vyOfW z5%YvEV%arV+OfuwmWQGcGfHHFP88}~C^rQ5ZP)A6^RwAZbHmV8aqD$@?yx8f4yT-F zbb(;}g^f3pV|SE!vX)jypc87>wx`QYhR8OqU=|qmCgiShnvnM9D`6Wu|h5U5AaD;@8WuQn{KaO3)rJFnK=-Xbf zI-bvon4R`y+JMAk&KcD8>T_P!)Art&`X`OeKu7JP#1LUh3?)Q~g&Nx9NFzr(2S`nu z>?wE={0vTTQu`S&h-~_ZV>BD=oMl70A~V)~+&pN&ya z_beA3O-zU5H~OMYFIOr2ugvOGLwg=QcdLQMM#GCaiZgU18ijjQsUUrf7@_HPr2~&p z$k6QJu6%66HalK{kKNtWnSbO(O)=t2nqxI?+|aV!j%s2N1G@TpPQsm;qhW`&8UM4S{0A8=&f#@xp`Ay zX9s!_k97*kqLB$=C`}sWrS#73bT4(9JF~gLt#mIfwPOeTg)A>;eaju|LrO~!!^kT^ zj1-RLG23V|LLx`?nz$7i*ZJ_u>#2nZ_R};nVlJ`D6S(wM;iP#LAWVTY6 zd`{MqwLi|VuixjObAz`VJ?xLcKVRm|-~mvVe8a*1>)uXOydSR455Ow^(9VY%6U8uT z#(o3&3>1THvgz1B{3gT-)7;w;XrZ|`SM1wLYD`ZqItuvA5N zUud+W8U5kp?bAkQhn9lA`Cf~a)bF4zof?8v>h5xuoRe@se&FWEat%fRH(HqlePyc5 z^pMI9DOJ@bBV<(}rztBLz2rJwL1&VY<&#-5il*S9aImIMMp0{yXqiW6+B+2ErTxl? z--e2jnx;4Ws8J($lkZ_aXMXQ39>${7xA5&~-!L@lwzF#L#W0M%{GOW1OhH0x9;>N? zDcE%Hm-#oxXeW(1W}pRL$mV{9zq&|wrmC#Sz0%)_%7#)jcA%bWQ_*GPU*pV%R|B2Ml7{#{rJ_e2>t$N3p8 zt!d!w?0QGe(zRCZ*IsA(d|}d$>}sa5X=04<^eF>A^j4bK$0m-Bj>Nre+i^WP&J(?y zBU-uv{~N2PVDwMACrWw+ z?jl>cyOqTChhGtcoWokF_MenhlJQL~1uYQ0=vKPuC~SI*4_LK8>_ib6n6cqLV|=MJ zL+meXts%cmRPTBQoPuTQvGTJ! zgi^)L2wytl7^e4Lqn_~c{=}4B?N7KQiAm?l`R&%tQf~vFO z(`~lmVB9;l^i?)oo?fr$Lqs&7?HL)FsNY+m_EaarV8HDNmWGM$GK1WI$f!HN`)Kb* zsJpP;53!EI~%5X}|!QoeW#)0Ci(J>vzpngBb$}DA#!6CME7&q~G zS4*eHU?D$G$`wO3uYB4< zInv&Im^K|jDSpeOx;(KvS;nI+hGsF)k2a0!m2MYC{}GwaiP>6K~ZVbI|%%&uC9 z{FGh8s8>FomHzoV2b=Se*d=XmmO<$H0-ONegE){5e%PL-7hsLIo#qVPe6zQfZZN9L z7rpt!LJGwwP23Y1nP^2JmZ-s&&KBY+!`nHE+Z;U*Wlv-EQF^*ENAz;(-)a}#Ze?XO zM7dMBkLXC(i%^;b7qyEyhA3Bxnt<@5-BrBQ?Sd11#10sF8O}_=GOUkoG0@TT3Ap{& z9BrXY{5W1V5i!=(xA5Ll$|o-LuZake^a-aW=l30HOfi@WT^~N5L&bQUdFrR2Fz-Hk z+Bym0yOxNZY~G=rC1Qwl^b_R?VIfGtZw@7t;BCV3q66J1LDveaIbpe|qnJq`KHbiV zix*{Q!NQ>ZGC{vi!c)Q4e{k^C%|7U}$w+2dufCKBPjqrJ_T7>qj--T3I`S!n{^>GB zUtNkm+`LCY*Ggf%_CQ~`N2Q!A4ir8G4bc0G7DhU9*`78}fsc*PRIL7ro}M$d?TcpC zm2xa#eshm*_9uOC#f1iWqZ*%EFmc}?YO;u_!o4g?C=-Wk+Rc?sT`A<{Xa~Lr&Xr*i zw!NqDbym@yE}xE84zL3sMyvPXYoDmhB+FGTjVVV0Bd@CIGglobY9lguzZ{;!Zm4wh zq8zjR{h6A|sKCK7ye&0aakS3*Gun=hRImlX2SUdDvjQ!B*HH#i>NOpeuw!FFB_Pg1S zF;4V&JOboYK|SMMGu@V6yB*^|1I^I=D>_zPlxO{7S@~VbHzrn3PpVLm%V!iSq8i)t zqniqvQ;pNhaYh_B|D+nbeQ=$ErYwtV&mSCyv#;Maulv*tGWSoYOr#Gr7$@xornmrA^QVuKh*=fkK?5jAM`*~bf@|h0Z2RCHo zNl(6r(^DCvHrvND15f&>ZM-AJzJW^AydAF&J+(oxu&=@Sm@$|lW{Pe!e!8fou{AjK zmgRBgKn-5)it%g1Ox(5QCr`D8;hM-B<6JG)Y{QyFs^~V%lbq*Z z%Y5}0%A12%qb-u63tuq6iJr_((y^00So3ql06qr18*Q&mQqI7^b1|Xh9%|*%&;dHy zG8co|Ep6dL*b`l_CTc|sUy z+5zg$NZi;m(n!nKBDnk>duKi}`|6Zh`PY+RuqN@Mn#U7hl*YU7z~&hm|9bKZ))-?{ zG~v;&r)GC?3*}C~FF+B$doZMVup1qnlVr>HvvnboxHvwkS?NeCUrB1u?@?bDC8;O! zw@GR zS_kfG;oH-bO-afp*^x^y=;2>V_4D`D)agB< zH{}F~2A9}Y&jjKJYO5U$Nm{B{h8V{=-<2LTpta<;;hW2l&cLr_dmJ6hG5L(&6f}D| zB7Uq-W_2~ut>w7&buMN5_2sff4{BP4ypC;C zP-Y!Q|Jf*`C^}n*_*b5$(BFSf=}jLVgqz6Km~fr@a7KmFmG;B+w0JeF_H-W36F({? zIZ+d%MwO>>s%~N`1RB( z5orrEFwqBup)0>(Ab`9!Ae*_jIheiyH;Ii;Ik@uk2s^s50adG5mqx28%}m`lV!3O# z$f!5pjIVD*@keh>V-3@l9x{XP_bbR}PnsPK+XN4b-c_hGr_yw^mr>W=9m&VUF2SsA zHiPoMH;PlEHlqQG?xl0I`F6TJKNdc`ldf)V zSuzz!k=t-~%1Z~*{-RK1}GEvhuoO4T-C@6J1kpDU$R-63{MO;$QA1lxuPf-?9e6eU?3seRcjENWK3CA}op5#MFZ9(;6n#pkOdjT&RXFlK-GQ0l z{m4M$ci|0usW<(!55MXx+J(iwAOkOQ-Ys^d$GdRfpFWVO6{g>;Og(8AV|>)WOm!dk zOjcQ)eHFd9uBw?CD7^AYGw4XMOGH=Nyc7dw!Y7by=*d?aG6U;%lvs^%2ywN(YKZvlew5U>q=Pf`_XAUCSeT{5nmayb+?CMXY zhs1%x-xYBBvn(gNa|mWHZgBPX!y-N|e5nMG+s3(9tGiFe*Ugswgnccb1NqL()ROlR zOsdT{%{C5{a2<1B~p(JH|QuYJU_5UG!1R&t1>Jc;R~kyLKnDHrrjEA`R1K zs~Zm=s9@kvGqu@%wD1_->Ye;K)307^N7s*GF6U!Z%%8opb?j+4SQv-L6*g2hT=fRd zy*G!em?ufu%4ZjwdX)8WYO}7d@EJ~q=Ak2|qeBnZ!{dBWMZc4gZBM%6pnoq{(P5?8 zcI4rKCaF3Ow^ywyU2;vPfxWRilYVZiS!x$DD<5(=fgSlXe)T+xMl_y)r_vJ$kaCGL vGcII1(=#i^v+eENzSTOVJffdYi1EV9k0|1#I9NFTh-yxX-E4Pt7Gd{4J?m-e delta 8263 zcmZ`;2Ut|s)|ETL3{zl01q)?B=~ATkA{I~q3j)^$h#IkgJt~SAJ1T-VvW*dYj15Gw zqKKMjG5x@bN8rp+uEmp^IjbPqKxT&-; za%apKJFUPFV{rBK^B&Psz{}sy+f|AV>*ygz`2RgejDV|J+T`U)2kpi7o!+#;OKmXZ zk26fposl=baP)*oH5K32c5d6lORc8o^==*ObUueI>h=XbR@Kdp&NH)GJlpm;)Ao5>Nq_fEv&MT0jR_0oH&XumNm= zc0hZe17HW(108`*Kxd!}-~c!RPJlCD09*i9pexV~a0A={55N=f0=xkqpgZ6T_yPVv z0MG*n1cHEIAOr{n!hmof0*C~nfM_5Fhy~(+cpw4j2_yo&fZjkKpf8XFBm@0`{=fhr z1xN+bfPuguU@$NQNC$=jEU%eIFJ)vooimxd^h*~pS;%!_6Efc6?Md3k8cEBew=>@2jKOfOW* z4%Fl<+DJLmtVy*?)Kjn%OcSTIn&{uV#Ew+P$8^mD63Oh48(8bI^^Y)@WuMA>mg;ggrs_;}g z(w@ah8k+10eSiz}3LmaZHT|MwoS5&Gg#VB+lE&90Ew!73uqSGb4eL^C}Ik5#hX|E0VBxt5Kz|yQ1M&_cJm< z_@j&fhN>TR6ZE>)c3yQBSVEkn*wwc5H!CvA(4tsMn^s%$?4^zp zwe+rsXr=h7)vly!59C?j%i>K8rIb>pB)uo%RP{BgZuD?~g)!CM3bRyMYV;IC6k{&P z%)tw7FTZSL?o#az^yg#aqk~Y&){22jw^_tyt6b zbb*=2a9Q%L(o+{7Brv}#_bc!bV}(z9aB|H@3=|fGauU!TBVZLvF1`p?-d*e=T&pd>#ZW2MM_UH_=5!uP_b0H(R_d8WI~n9Zu^T7igi0=783yW^G(jA%j?v% zD**X=5ogKE#`d z@}cbML`|c#mUMTRR!z>4DCnBiBHL0?BzBvXqO3%UiNfxYt>(%+luV66A>XsDs-*i^ zO^2ee&oo|qOVyHdH0H(VP#s+vt@Wp(Xfaq=wS^8ui=rYt-kPay6c~efw_4D1wkAdl zR0I!|*^jUZpE{5s7VUqM!JeKJJ;Fvs)v;*BCxuM$sEorVa7Jm%BUtHdwKP5s6*~sX zQav1mZzt39I5AV<{dqfj5r^TQ5-$cQrYCja#ZISmP}1di6gy#WXOtwv4mEXW+htS& z=IhQGc61;C<%$zqoX_B z>4|P09V@e_L@`v+_hXrDNW_AwcJE^Jl$v+x$g&s8x(s&UWl#4Km6X>Dy{sJ4DupZR zGh3O3RIt~Q0(zs|&JiXut>`WKE56U;k`%Msk{&WA{~5AVOdl~+h^VIneMNs-)99$9 z<|3S|jeW2r*2uEDFJ?kc1NSNJi&@xoijhL$!DmKMI$f=#tR#%dsIR%;RAWuw%tP{C znLC+o_;=elu}=AsV=_{ZlE<0!V~viMM8kb+GIHH_w_J^D|wMDk1Q?m>f zw5mUn6gt}|2T2QRHMGAEynicwtCo99xC3Pl!0_)oDYH`pFh!Q!qvr#}al&!zD`_|) z|2|`|q~;$C=JY`tE+V^Akl=TcnJq|~dr*$wE){BiHdmVuDk(n|NmWlb3UnbAaetW2 zNH}?=i0!C%8vK{7WXc3#`3|F7 zPM9cnPP&^x;_{suA+qE*aTOqsB>{8 zo52|4Z>Dl4H5{>~qQOXO)HK=tIkW%T%Z+(EN%NL!sQVDuCl$NXfv?@&X~7UInxWfe zc4r8diK0ekap_{DqM%-8CmY?Zs5TviS6nqpVf1(i+B5r!yXj_|jcdzLF;DUMCwF#M zInpOX#c)NS0{bOn_rmZRq+5nfCM5$`jlmYC`hsQHUiUG5o61ywz6_g!IurT;t*M@~ z9O=)=L_XYYP4(JkNouOeL{m2ew(6be*HLJ%OBVdUN^I5D(xnqR`gDcpKxJ8|W77c> z8$CJVp`tIc5Nl1HsebnuI)c3mcb;!$eU>ODD%Q^M;yo=NCSo$q@zT)UB2@dAh-&wj zm>T1UVSAjpvQ>&vY^i8vmh`mJOIqt>!(92uM7NXv{p69tFrG0Kr@$W!+_Cj`wdljOmb3w@AEmf%LGCivxn|!RQ=Nm&*q#2I` z$~K-W%_l=GrDLDl(AOWKm^2=#myWiW^lU`Dg^o>387Txl@?KH7K4ER3e+ zV;#TD#~iTLgz?;E>%-dfHzU?_o1U%jC-`;E#LJQzCWvv05N&HgOY)rvsh_Q>w8cKm zn)XdZjVnXm=#xY>sV3ntF4)^D4N@$tX=RR5=4BhQn2d5U=eR6&xnPB35WN~_PBw)| z%CX6~%{+E65~=BehMWsvt)0aLAL+zpd8e-^KyK`cxZ0^nM<>Q0W4|!<)k>yj3uiX4 zr!Q?T#DNjHgOjq|;TEKvf{<(P@WSO+v@`*Nq9h=K=j+~g@HsmL)2}#(OOpQ;b7~qJ zp(d}X@O-?~L@t>M$MP*E%AKjWLaf+H`e|a0!lx;M4(yHarmATeld_jGYyK@lL#pYb zx7lmDG7Yb!+0(He9@<74ou$iP+0bQJ745r0>0;J_Y-V8dxH(v6_F0iSDwqL>--{y2 z%sR@B!WTwrsewt-Nu%UMH_k-LJK&MeBTerYRp(@nQ8Q6%pMT42RTH9~nu!oyuW?Co zxUQk!=ODG+W+AnYUQ+xlaj>H2KeGAMbtTo$LV+{pQLGtGWd1I$3O6i`%#(_iplH;P zDAUSaQ)SnE%=OY-nf?7P^7HX3nLVk9Qj$0uksoj8lC=ICE!8sR-Tkst!=We@h4n-g zZNGf0ibt1>9v#W&%P4F9A!7Ocw>%1)Wsm*$qim>p4#GZ(jOM9+HV1pnC&xIeJQZ!+ zFZCqO#m;cz8`){)TwE*^Gby)7w4?aBF($p}swa^tKib~I|6H9F3;iz7!ehe5)Z=h@SNau#3#mptU;-~wc+`57ld z3En#I{>DjG30nC0Pfq-WcpV)pLE{d!iKm35_%4+TF)<6ZoY269m>b{O%WUgHw7aXD z%w8_UXdRA}*>7?2TK;xE`aKL+r$nRfN7e5k_}pHy*Dvp3qiQ=Xo{x9*BAitpZj;&S zMff&w_<+oAFG5{4cVzbHyLdf?FGi@6N3zuLJl=*@GAUV~KvO#;IPw|EwpxAHx3=2V ztI2GMm?nH-e0C;lDFIi;CCGS18MAaI!&1?jnwFr-2i+6t%=ljZ6dRbR<0n&QV4~?V ziuIK}s+Pk4_r-~nTPjAd`(3D_`*NA#Ru`fuE0r1Ua>0szWirDJE?g1%zRZmGw!6#G zk1r0%l7D@oHNUsztw1hAKjr$HE1S1q8%#N+Vr0ub&4C7%idI60P$m}$ALLO}sW?t? z`+i^Em+>oc!9P8ma#!)bT9I{bk}Y4K|Cx|vI;$>?HStPaoTTGd_TDHd%o@*Zg~HeZ z_6((d?`7bCW?x0Su7>%yX+^6BbR5CW76+7l5TXd zoV|cvXO?c{S%D8h$( zpD_>GvR3pHHsXWiT5+_Zr{4g&@XsfR>CxBD3)3O$|QMJB)*T} zzb=;bRqx|1_* z_WM=BVTo-DZ`BR^6fJ#PgLvC35pRQ?tUv9NVoiU*Rp>jB&aB4?{o#~U4P_G)%_XJ; zQzPMn%kF!OgizB5_?qmu9_B6o;Po+`6Gz)0=x zz~#mdu-jdKWLH((6oVr27&*mesBakB42obD%Q zG7?0#s8iTBmyxl;a$-*py1Wq{i@s*WjV|9#(@=N?ve2^%4Vra}%ZsY8OP2k_$=xax z7*|dXGle@l*wcdsZN|&NyyJ|x)2_|fAI~2j zL|6Wm)QyBKSmw6PgE<>@f3T9qY(d|KHBG7(2HuodhK+IUewp1pl&+`M+Yr_%m3r(zxO>|$)1S^}#DikD zBjM>qjCfMjc67F12`7yem?_5hZ(1?bbjcSlW)33+`*QYlqeDAT%KZW-)*m6>pE8;F z5xxSZT;-O}KEkPT;Uy=YJF&q2dd10r_feDa6W8{g$ly1>aruXxI9f(`$l$%I>6~Fp zX&<8>3p!HnZqc3^9I@Cpe=K?m4MrtED*Dd&R~K(#avXCBXxVYR1+QLQDM`*yQLz(- z`TJd{tF(~I{_qy&EMO#Ch$`V?@uCcQld;_c-?j_6+`Q<`CR4=ZqszD)zZi0g0g-=T zvfXkTRE=%NaW4|mAd{(#Y%S%Mb9<4uy%HzS)@NAp11WSLO5eQ2<-&a!tLVF&lzg9| zrKWvILHa|kbgG7V$j^)n5|W~5(0Z zuU2H54({E>+~H&m8uxGoBc9ZGKO5Bbj0_X@)^V|64q7v#ShS&^_KTf_4fR|Osl^(( zah}f9imp^zi-KJ*FfvA%V|@D4Muvk}$;Dst zD9$%Bt!e2>{&(_YR5)!pm#i9D5smNxp^ujDL(XzBSIS!#ETICM3@(?n%>Kh*9#vy!TKWa`1$3@plO;#sfS z9!B@?DBlPJgcue3?M|h-EJvz1g4x>EktrT@st8l@;StnvGL$R&c^PVc70*11xI<#O zyx}Nf?n~n2=c8!m_GC`dj$xE8q;azE7*^ZtbVfW$cN}hyCNh#GoGaiSXOCmL{8hq; z6LqW?BZLQs7;&U2^{67@0w<^Iu{aYR(4X}0@=o4Ze#qI}LbmehYXWD#1)LW39 Ih%3|o0A2^~wg3PC diff --git a/tools/whltool.par b/tools/whltool.par index 7cb59c0fbe05171c8405f4b72e7843670b6a017e..72e8409e14d6a949699f0f90343d1468920a3585 100755 GIT binary patch delta 2477 zcmZ{k4{Q{57RT9{?oM}hx4Z4`ugGG{uhMpQd+pLf=^t8mI!O^%Es?=A0;*n5tRtny;I&;e<61OPh&4 zGt#}Or+r=5mbQ+r_zjz~%j;LV@V%)HPwcLrc6iNEGnO#6-hNB%W*Op5jv#a&@#Gbm zR;F)De|kvO65G}2GMUos%7$=uXv-Z#h!Wsjj+8AF@F zv8{%l8IIINWms@PDu&O$@HpFMpL990&rlQFa;I3>Ox2>xDYgk=YACI3i_8jwxHA-N zVw2&%x$d&`v%K&G{yKLmYZcFRc?|GO!VxH*6@ug7AroVbQ?BeCt-fGdqX}vzv{awI zgW?a>^z7N6$e>9RhDuG<|K{kp*jy*v&|HFbwYEj>s3(pth8jiEd1 zo}S7Ksawq9L{g2ZTFM+rTLU=i%b_>~%$R+wA)39lwJ`fpYvIJM6|d!Ig~rfb?79o- zI*r=fP|ezfJCeMergYWR6pIdEFfJ0dGqYXQER(Y1X)c>dle%H3No#1dI@cb49J^oI zqKTxHNem5*Vm}iG#$f|8eZz*HR85l(W=x9?HK(`X?Pq8#iT>-x2ybE3J>B(!`qH=2y*LGz;d&273H)#~wzU1NsH(4yK zzQhHUNxk?+naIkkh0jYx4?8IUf00R8^d55YvMU6c!Q}upSrnv^kcURs){h_o1e-I zRl~)PWe+^Ska6Bd=ZY}%^8d+jcaSWGt{}GXLM!YJlB7_%iv2Euu9Y4cPF7;S7l&}I zzF*C741VgwHMlQ?13h)q3~|D(*Gn$Az;OBAD{voEDeVyx-d>Uuda2bmfJ*ydmx};12n?hqHc`M`@$&(NvEfZ(W1Q_B7jw zF2oOJ=L%cxVrs0-R_~({)^x#eIbO4+9G7zAJxtszRNu?tm*u2ExN{#D-4z)8_49V{ zSOr-o*1TjZe3t#Tu*yWFQ?u4$7o?I+j<@CD!WnG4VYmYX6yzs+{JAH%WYlQkU%7e zKsJMyK$CrjB@2odlmKH*Kyf4kGt?+jHpe1H!!&@zC>TkE1cTq-b6_PgvB{g}ea`!T z=f9nAYNGzkrTW1OUcUO5#=U)(goHjzBG6pMNam55TKIFtsZMe!&B zr9 zwv4~mk$Ft&pR(z{i)HGyn30p5(FD52@uvTr1|(U^U=dzDkCZ zNyGv#EMW`~GLS;%iY<;z7;v&XGbqV~!9vaq_Z*xN>WnzF!yShgtio*>p;+aUu_%%< zrXuh-lL7}se4M%JF)>401D6Q*DZZuP>PF51Arq3~)p5boO`Hf*6j!Z{!{w_vJye?! zk8P9jAv399p4%RmiSFPu;7-EKPz>8)dlH`h;{7z!%+wwQlSCSsFV0bKhwM?j00R=9 zulc+N-npf9LUS3%!F`IFZfGgWf*OML-oF7;gm~d&g7uc&qNasO{!50P%W;dhBojY- zAt1n_eS#M{mk5b)m7<3w)5r)FGqCi;;ux9-M`nI%Gte{{$9>s?|UcsB=`uHn26jc%% zXJJ)oOmWd!B!|6vRdJyeczudyW5JOh7381NYhZw)@_P!huH>|RsYtf!4DzBHQgO3J z{fhfE6>A>NQ=B!8%xCx4#+(CQPQ&Eu2MqN5GU2;4oXgHW#rbU{mxW`BdpKy|fP#iINCErX2a2;~ z;+Bk^Ra|!_4*s?&Ngn)7CMNsWqYFrO$g*P_bZVi-gzClS7bNM*^w?kk^5@{dwFzN`H+@yh-ipWp)yRj8+h{{G+g-z;#n|QRn z<5EJ`mbT7Tn9`8h@T`Ye*iXhKcyL9U4aFW}0Q;mQ>ZY6JopBiSkSz623_ Date: Mon, 14 Jan 2019 10:52:27 -0800 Subject: [PATCH 2/2] update doc for attr python_interpreter --- README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9c44f40d95..e50e81ac90 100644 --- a/README.md +++ b/README.md @@ -65,8 +65,16 @@ load("@io_bazel_rules_python//python:pip.bzl", "pip_import") # This rule translates the specified requirements.txt into # @my_deps//:requirements.bzl, which itself exposes a pip_install method. pip_import( - name = "my_deps", - requirements = "//path/to:requirements.txt", + name = "my_deps", + requirements = "//path/to:requirements.txt", +) + +# Python interpreter can be specify optionally to support customized version, +# such as "python3" or "python3.7" +pip_import( + name = "my_deps", + requirements = "//path/to:requirements.txt", + python_interpreter = 'python3.7', ) # Load the pip_install symbol for my_deps, and create the dependencies'