idank / bashlex

Python parser for bash
GNU General Public License v3.0
552 stars 94 forks source link

Require enum34 only for python<3.4 #34

Closed doronbehar closed 5 years ago

doronbehar commented 5 years ago

As suggested for this exact use case here: https://stackoverflow.com/a/32643122/4935114

idank commented 5 years ago

Hey, it looks like this doesn't work in python 2.7.x:

$ python setup.py install error in bashlex setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Expected version spec in enum34;python_version<"3.4" at ;python_version<"3.4" The command "python setup.py install" failed and exited with 1 during .

I may have to revert this unless you can come up with a way to make it work in older versions of python?

doronbehar commented 5 years ago

I don't get this error..

idank commented 5 years ago

What version of python and setuptools are you trying with?

doronbehar commented 5 years ago

I've tested it with Python 2 on Arch Linux. With and without python2-pip installed.

idank commented 5 years ago

The stackoverflow link says this in one of the comments: This is the correct answer, by the way be advised that older python versions (e.g., 2.7.6) will throw errors because their setuptools version does not recognise that syntax. So if you need more compatibility use a more portable version such as the one proposed by @iTayb.

So I'm not sure which combination you have installed, but it does currently fail the travis-ci build.

Can you please look into this and propose a follow up fix?

doronbehar commented 5 years ago

Well do you think we should implement something like in this answer:

import sys

install_requires = []
if sys.version_info < (3, 4):
    install_requires.append("enum34")
idank commented 5 years ago

I don't have free time to look into this so if that's the recommended way, sure. Pease send a pull request.

On Fri, Dec 7, 2018, 19:35 Doron Behar <notifications@github.com wrote:

Well do you think we should implement something like in this answer https://stackoverflow.com/a/21082173/4935114:

import sys

install_requires = []if sys.version_info < (3, 4): install_requires += "enum34"

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/idank/bashlex/pull/34#issuecomment-445307230, or mute the thread https://github.com/notifications/unsubscribe-auth/ABN-xC0YBdmTh5O5OLNV0aV5zqWpdxGVks5u2qbVgaJpZM4ZGpev .