-
Notifications
You must be signed in to change notification settings - Fork 808
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
pywin32 issue(s) under Python 3.6.1 #748
Comments
This is currently breaking SSPI support on Windows in my AsyncSSH package, and I don't see any obvious workaround I can put in. The issue appears to affect the Python C API that pywin32 is using. Original comment by: rfrederick |
This also breaks requests-kerberos: https://github.com/requests/requests-kerberos Original comment by: akapocsi |
This breaks requests-negotiate-sspi as well: brandond/requests-negotiate-sspi#12 |
As a user of |
I just saw a comment stating that a new release was imminent so I'm putting in a final plug for this issue in the hope that a fix makes it in to the new release! |
Should be fixed by #07202650 |
hrm - github didn't link the above commit - let's try 0720265 :) |
To automatically link (and close) this issue from the commit message you need to prefix the issue number with one of the recognised keywords - e.g.
|
It seems the issue is still there.
Still got the following error:
|
That's strange since it definitely works for me. Are you sure you're running the latest? You can find out programmatically, in the exact same python session where you got the exception just run the below commands: import win32api
fixed_file_info = win32api.GetFileVersionInfo(win32api.__file__, '\\')
fixed_file_info['FileVersionLS'] >> 16 Not sure if there's an easier way to get the version - I found that snippit on SO. |
It's probably pywintypesxx.dll that matters here:
|
(sob - my markup foo is poor - |
You are correct Mark. My win32api is 222 but pywintypes is 220. Do you know how to update it to 222? I found that I have both pywin32 (222) and pypiwin32 (220) installed. Do you know what's the difference between them?
|
I suspect the correct version is in the lib\site-packages\pywin32_system32 directory, and for some reason the post-install script failed to copy it to the system32 (or SysWow64, depending on 64 vs 32 bit) directory. Running |
Its the case. Mark. But I just wonder with pypiwin32 I don't need to run another except for 'pip install pypiwin32'. Is it possible to update the pypiwin32 module to 222 too? requests-negotiate-sspi depends on it. |
I think @xoviat just converted the existing installers. Best I can tell, wheel doesn't have any postinstall script support, although maybe I missed it. |
It worked. Thank you! |
It appears that changes in Python 3.6.1 have broken at least one feature in pywin32 220. I suspect that specifically it is this: https://bugs.python.org/issue29100
While arguably a maintenance release of Python should not be introducing such breaking changes - and so a ticket should also be raised there - it looks like perhaps this has just exposed an existing issue in pywin32, where previously the relevant Python API was more permissive.
Here is an example of the problem:
I think that
AcquireCredentialsHandle()
is returning a 'never expires' timestamp, which is out of the range of Python'sdatetime
. Perhaps this case should be represented asdatetime.max
?Reported by: m-parry
Original Ticket: pywin32/bugs/748
The text was updated successfully, but these errors were encountered: