adding python version environmental markers in the new style#16235
adding python version environmental markers in the new style#16235mehrdada merged 1 commit intogrpc:masterfrom
Conversation
mehrdada
left a comment
There was a problem hiding this comment.
LGTM — I'll merge and trigger distribtests to see.
|
Artifacts are built successfully--distribtests are running. https://source.cloud.google.com/results/invocations/adf52764-7b02-4f50-ac6a-7bd3a6fbb75b |
|
Distribtests succeeded. Will merge as soon as the PR required tests pass. Thanks for the PR! |
|
|
Packaging change: relevant tests (artifact/distribtests) are separately run and passed in the above links. |
|
That's great news @mehrdada. I'm not sure of the process from here on. Do you have a schedule for release? |
|
Not much. It'll automatically get released as part of the next release branch (and in tonight's nightly build from master on https://packages.grpc.io). We have a 6 week release cycle and shipped 1.14 right now. The 1.15-pre1 is planned for beginning of September and the final 1.15.0 is expected mid September. Do you have a more urgent need than that? |
|
/cc @hsaliak for publishing the release schedule. |
|
Yes and no. It can certainly live with a git based install or even a vendored pre-built wheel until the official release. Thanks for your help. |
|
The nightlies are out of the oven with this PR. You can try pip installing by adding an pip index URL as instructed on this page: https://packages.grpc.io/archive/2018/08/7c3d13d440debe4b67e05e186a8e8e0d2b4f4918-c51a137a-3531-4f87-9670-7c4f36009649/index.xml |
|
@a-musing-moose Had to revert this because pip install on macOS on Python3.4 failed to run on our CI systems, which makes me feel the downside is much higher than upside. Might I ask what exactly we gain from this and is there another way to achieve compatibility with the specific tool you mentioned before? |
|
Hi @mehrdada Well that is a shame. The issue I am trying to correct is that I am unable to install this package with poetry. Details of the issue can be found here: python-poetry/poetry#328 This leave me with an awkward work around whereby I use Poetry to install all the project dependencies except |
|
@a-musing-moose We might be able to work around it by having both an imperative logic that ensures those tuples are eliminated Something like: INSTALL_REQUIRES = (
"six>=1.5.2",
"futures>=2.2.0 ; python_version<'3.2'",
"enum34>=1.0.4 ; python_version<'3.4'"
)
if not PY3:
# forces setuptools not to try installing `futures` on Python 3
# even if it is too dumb to figure it out by itself.
INSTALL_REQUIRES = ("six>=1.5.2",) |
|
@mehrdada to be honest I'm not entirely sure. I am unfamiliar with how poetry parses the setup.py to extract the list of dependencies. It may work but I cannot make any guarantees. I would however by happy to test/trail something along those lines. |
|
If you tried above and it worked on |
A follow up on #16133 which I have tested locally to ensure that when doing
pip installpullsfutureson on Python versions less that3.2(when it was added to the stdlib) and enum34 when Python < 3.4.@mehrdada - i'm hoping this one will pass the distrib tests as I was unable to work out how to run them locally but a pip install does do what I would expect.
Note: It does require a recent version of setuptools. So there may still be drama but I am hoping not.