-
Notifications
You must be signed in to change notification settings - Fork 113
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 Python 3 #229
Support Python 3 #229
Conversation
Also I don't know if Python3' or 'Python 3' is more correct. |
This is great. I'm sure it will take some testing tweaking. We'll see if it passes all of the Python 2.7 tests. I'd also like to get Travis running Python 3 but we may need to switch to using miniconda as the testing backend so that we can easily pull in the dependencies. Do you think we should support Python 3.3+? Or just Python 3.4+? @pydy/pydy-developers This needs review. All help is welcome. |
3.4 |
I also looked through all the sources after using 2to3 and it seems okay to me. |
I just got a bunch of test failures locally testing with Python 3.4:
|
Oh I didn't run the tests correctly. |
I do |
$ nosetests -v |
I can't work on this today, but I'll help setup Travis for Python 2 and 3 testing so we can merge that in with this PR (unless you want to do it). I think we should switch Travis to using miniconda, bump the minimum dep versions for numpy/scipy/etc up to the whatever the oldest versions are in the anaconda repos, and then test on 2.7, maybe 3.3 (sympy supports 3.3), and 3.4. |
Do you have |
oliver@arcturus:~$ nose Probably don't have time to setup Travis. |
The command is |
Oh yeah, that was already installed. I thought you meant some other tool called |
Nvm I figured it out. |
9fa48a4
to
d959ea6
Compare
Some tests fail on my computer:
But |
I wonder if cse is generating slightly different values for python 2 and 3 and that is causing those remaining failures. |
In System, the properties |
Ran 67 tests in 65.083s OK |
73aa6ee
to
579bdf7
Compare
Yes
I'll take a look. I didn't realize there was another |
Are you on giitter, it is easier to chat there? |
7583904
to
e67af10
Compare
51bd530
to
084ce19
Compare
I had increase SciPy to 0.14.0 after changing NumPy to 1.9. The absolute import commit was removed and I changed oliverlee@10bd4cd to use relative imports as well. I think this has now addressed all of your points. |
Create dictionaries with all keys set to the default value and then use update() instead to modify existing keys.
Handle arguments that are Iterators in Python 2 but may not be in Python 3. Set container children widgets to Tuple.
245abc5
to
aea2baa
Compare
Change System.constants_symbols and System.specifieds_symbols properties from lists to sets as the collections have no inherent order. Tests have been modified to set the order of the symbols when necessary for comparison.
Print only the first occurance of each DeprecationWarning.
Bump mininmum version of require and optional dependencies to use binaries available with conda for Python 3.4. Python 2 requirements are unchanged. Minimum dependencies for Python 3 are: - NumPy 1.8.1 - SciPy 0.14.0 - SymPy 0.7.5 - Theano 0.7.0 - Cython 0.20.1
This topic branch resolves pydy#38.
aea2baa
to
96e76b2
Compare
Thanks for this heroic PR! Merging! |
Addresses #38
I got 2 of the examples (mass_spring_damper, three_link_conical_pendulum) to run with Python 3.4.2.
commit message.
nosetests
) and on Travis CI.format.)
docs
directory)
pylint, to check your code)
Notes.
follow deprecation cycles.)