simpleflow icon indicating copy to clipboard operation
simpleflow copied to clipboard

Fails to install on Python 3.5.1 and OS X

Open nikolay opened this issue 9 years ago • 5 comments

$ pip install simpleflow
Collecting simpleflow
  Using cached simpleflow-0.11.1.tar.gz
Requirement already satisfied (use --upgrade to upgrade): boto>=2.38.0 in ./.anyenv/pyenv/versions/3.5.1/envs/wp-scripts/lib/python3.5/site-packages (from simpleflow)
Collecting tabulate==0.7.3 (from simpleflow)
  Using cached tabulate-0.7.3.tar.gz
Requirement already satisfied (use --upgrade to upgrade): setproctitle in ./.anyenv/pyenv/versions/3.5.1/envs/wp-scripts/lib/python3.5/site-packages (from simpleflow)
Collecting subprocess32 (from simpleflow)
  Using cached subprocess32-3.2.7.tar.gz
    Complete output from command python setup.py egg_info:
    This backport is for Python 2.x only.

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/cb/cxxqz_g94jd1x5tjwrklxgd00000gn/T/pip-build-22bmoshd/subprocess32/

nikolay avatar Apr 16 '16 00:04 nikolay

Obviously, subprocess32 is Python 2.x-only.

nikolay avatar Apr 16 '16 00:04 nikolay

First, sorry for the last answer. Yes, obviously subprocess32 should be left as a dependency for cpython 2.x only. As you might have guessed, I'm not using simpleflow on cpython 3.x these days, so I missed that. I'll fix it this week. Thanks!

jbbarth avatar Apr 26 '16 12:04 jbbarth

Hm sorry but cpython 3.x builds have been removed a long time ago and the README didn't reflect that. I fixed the "subprocess32" installation problem you got, but many other things are failing in python 3.x, see: https://travis-ci.org/botify-labs/simpleflow/jobs/125820017

For now I encourage you to switch to python 2.x if you can, but help for ensuring python 3.x compatibility would be great too! :)

jbbarth avatar Apr 26 '16 12:04 jbbarth

@jbbarth I started a PR, but I faced locally similar issues. Well, obviously I can't use simpleflow for now as I'm tied to Python 3.

I'm not sure why people are afraid to release Python 3-only projects. With everybody trying to stick to Python 2 (given Python 3 is widely available by default on most mainstream Linux distros), the future of the Python ecosystem is not bright! And no wonder why people are migrating most of this kind of work to Go - it's a much cleaner ecosystem. Python 3 has asyncio, which is the undoubted future. All Python 2-only projects are pretty much using obsolete best practices and will keep piling tons of technical debt that will continue to grow with time and there won't ever be time to get rid of it.

nikolay avatar Apr 26 '16 20:04 nikolay

I mostly agree for sure, but things are often not that simple. I can only speak for our use-case, but we make heavy use of Pypy for intensive compute operations, and some portions of the code (including the "worker" part of simpleflow) are used with both cpython and pypy. And as you may know, Pypy support for python3 syntax/semantics is not here for now.

Anyway, simpleflow used to maintain a double compatibility and I think it's something we should have in this project. So promise I'll ping you back when we make progress on this front ;-)

jbbarth avatar Apr 27 '16 07:04 jbbarth