-
-
Notifications
You must be signed in to change notification settings - Fork 531
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Python 3.2 broken #323
Comments
Original comment by dahlia +1 for |
Original comment by danilobellini I think tox might help with that job, and that would be useful to many people. I propose 2 new options for tox.ini that would solve this and many other problems. A lot of people are abandoning Python 3.2 because of its prefix-less-only unicode strings, but I'd argue the same kind of incompatibility might appear in the future, and tox virtual environments should work with as many Python versions as possible, even if tox itself isn't compatible with them. By now, tox only works with Python 3.2 if the interpreter that runs tox has the tools (pip/setuptools/wheel/virtualenv) in compatible (old) versions. One can do that by hand:
This alternative way to run tox inside a virtual environment is required to run tests with Python 3.2 without downgrading the related packages, but I think it might be simpler. Can't tox add a way to use that custom get-pip in Python 3.2 virtual environments? Something like (supposing
That The |
Original comment by @jayvdb The current version of tox has a list of dependencies which isnt helpful on Python 3.2. Surprisingly, the classifiers focus on Python 3 support and don't single out Python 2 support. classifiers=[
...
'Programming Language :: Python',
'Programming Language :: Python :: 3'], Given the decision by virtualenv, IMO the current tox should explicitly drop support for Python 3.2, or include a environment marker extra that specifies |
Original comment by @The-Compiler I don't think it should be tox' job to handle this. Virtualenv dropped support for Python 3.2, tox works fine with an older virtualenv, but I think it's not tox' job to ensure an older (3.2-compatible) virtualenv is installed. Alternatively, why not run tox with a newer python? |
I agree with @The-Compiler that py32 support is not tox core concern. You could do a "tox-withpy32" package on pypi which pulls in the right dependencies before installing tox. |
Note that Anyone wanting to do this should steal the code from |
Perhaps it would make sense for tox to limit its dependency on virtualenv using environment markers. e.g.:
Only thing is, I'm not sure that's compatible with the existing requirement Ideally, the packaging infrastructure would exclude versions of packages that aren't compatible, but that functionality doesn't yet exist. If an environment marker solution could be devised, would tox consider adopting it? |
Hi @jaraco I am not sure about this as I have no experience with working with environment markers, but I'll reopen this issue for now to explore if this would be an option. It would be great If you could make some tests if and how this might work to have a basis for deciding if this could work. |
In a test project, I tried this:
Installing with Swapping the order of the requirements, it does the right thing for pip, installing virtualenv 13.1.2, but fails when installing with easy_install:
That's because easy_install installs requirements in reverse order (opposite of pip), installing virtualenv 15 to satisfy So it seems it's not viable in the current environment to provide two separate requirements for the same package. |
Somewhat more verbose, I've found a technique that seems to work.
It works with both Environment markers do require newer versions of the tools (setuptools 0.7+ and pip 5.0+ IIRC). I'll prepare a pull request. |
I have trouble understanding why you use version 3.6 in your tests now. I thought this was about supporting specifically version 3.2. |
Sorry for the confusion. Yes, I'm just using 3.6 as the test bed as I don't have a 3.2 handy. I'm assuming that the technique translates to any Python version. |
I also realized that the |
@jaraco, one approach that works is in my previous comment here #323 (comment) ; i.e. https://github.com/ryanhiebert/tox-travis/blob/5c51e4cd738bcfc9cde80940df932d5d8e88c62a/setup.py |
…viable environments. Fixes tox-dev#323.
ah - o.k. then - :) Thanks for trying this. I start to realize why this has been rejected in the past as it involves some really ugly hackery ... let's see how it goes this time. |
I just came across a problem with tox and Python 3.2 that is described here: travis-ci/travis-ci#5485
I am running tox by the ShiningPanda Jenkins plugin which installs tox like this:
This installs virtualenv version 15.0.1 which comes from the tox's setup.py
Looks like changing that to
virtualenv<14.0.0
would fix the problem.The text was updated successfully, but these errors were encountered: