-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Add support for Python 3.6 #2331
Comments
It would probably be helpful to go ahead and add Python 3.6 to the tests, considering that the "nightly" build has been changed to Python 3.7.
|
Okay, so to start off, modulegraph needs to be updated to work with Python 3.6. We essentially have two options:
It seems obvious to me to go with option number two, but what are your thoughts? There was a note about not using the official modulegraph until Issue #28 was fixed, but what I want to know is why the PyInstaller version does not suffer from this problem. |
We are maintaining our own version of modulegraph, for several reasons I don't remember at the very moment. One of these reasons is that we had the impression that there is slow or even no progress on modulegraph but it is one of our core components. Thus we decided that it's easier to backport eventual changes from upstream. You may find ports of this discussion in some issues or on the mailinglist. And we already diverged from upstream, see the history of PyInstaller/lib/modulegraph/. |
Is there a target date for adding Python 3.6 support? |
@gpraceman Right now the biggest issue is third party libraries that don't have wheels available for Python 3.6. |
I believe PyCrypto is also an issue for the bytecode encryption feature. I'd imagine this would involve migrating to something like pycryptodome. The current version of PyInstaller does not work with pycryptodome, and AFAICT PyCrypto doesn't work with Python 3.6. Even if it's possible to make PyCrypto work on 3.6, it's probably a very good idea to move to a maintained project like pycryptodome. PyCrypto is abandoned. Looks like a separate bug is filed here: #2365 |
Python 3.6.1 is out, pity one can't jump on it with pyinstaller. |
You can: Simple use the development version (and don't use pandas, since it recurses to deep) |
@htgoebel Thanks for clarifying, I got a totally different impression from this ticket. So it maybe needs to be broken into some smaller tickets for the remaining todo and the main ticket about py36 support in general being closed as fixed? |
I've already opened smaller tickets (see here), and many of them have been closed (aside from recursion issues). About the only thing left is idlelib at this point. |
Surprised this isn't supported - Just ran into this issue today.
On Ubuntu, OSX, and Windows |
OMG.
From: Justin Pitta
Sent: Wednesday, June 7, 2017 6:19 PM
To: pyinstaller/pyinstaller
Cc: xoviat; Comment
Subject: Re: [pyinstaller/pyinstaller] Add support for Python 3.6 (#2331)
Surprised this isn't supported - Just ran into this issue today.
IndexError: tuple index out of range
On Ubuntu, OSX, and Windows
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
@htgoebel @xoviat Just wanted to let you guys know I submitted a PR #2642 for the idlelib issue #2361 which is the only open one marked with the "PY3.6" tag besides this one. My hope is to help get PyInstaller compatible with 3.6. Please let me know if that PR is acceptable, and if there are any further issues blocking 3.6 compatibility. |
With those issues closed, is there anything left to do? There is no other open issue on the PY3.6 tag. Proposing a close. Edit: Ping @htgoebel |
Good idea :-) |
This is still a problem on Windows because |
@tarocco Switching to pycryptodome seems like the best approach despite the difficulties, but I'm curious how it is non-trivial to switch? How isn't it a drop-in replacement as advertised? Regardless, I'm happy the seldom-used bytecode encryption feature wasn't considered a blocker for the 3.6 supporting release. |
@ErikBjare I must have missed an option to disable the feature and dependency on pycrypto, if that's what you mean. I was not able to get pyinstaller working on Win 10 + Python 3.6. 🙁 For what I'm doing I wouldn't need bytecode encryption, so I would like to know if there's a way to skip the pycrypto stuff. I tried installing pycryptodome and it was not a polyfil, and so it did not automatically stand in for pycrypto imports. From just some comments I read somewhere, there were difficulties using it as a drop-in replacement. But maybe it was an exaggeration. I haven't looked into doing it myself. |
A friend actually used pycryptodome over pycrypto just the other day (but on macOS). He had some issues but then he uninstalled pycrypto and pycryptodome, reinstalled pycryptodome and everything worked. I think this is a common source of problems: You can't have both installed and if you do the error messages are unclear. Weird that you can't get it working, I'm pretty sure we have automated Windows 10 builds working for @ActivityWatch with 3.6. Edit: Nevermind, we never switched to using 3.6 on Windows. |
@ErikBjare @tarocco See #2365. esp. the Note:
|
No problem @htgoebel. It was just a part of the cefpython example I was working with, anyway. This makes sense to me 🙂 |
Of course we plan to implement support for Python 3.6. But all maintainers are short in time. If you want to help (by submitting pull-requests ;-), please get in touch.
The text was updated successfully, but these errors were encountered: