Created on 2011-08-15 14:36 by cscortes, last changed 2017-10-21 04:06 by rouilj.
|msg4376||Author: [hidden] (cscortes)||Date: 2011-08-15 14:36|
Missing pyWin32, Mark Harmond's windows library for python. I suppose the installer could check for this and report the missing dependency. I have done this myself with DotNet dlls, and some installers give you a chance to write a routine to check complex missing dependencies. Although the easiest way I can think of is wrap an import statement with a try catch and report either success or failure. workaround, before you install roundup, make sure you have install pywin32 from Mark Hammond's web site.
|msg4377||Author: [hidden] (ber)||Date: 2011-08-15 15:08|
Luis, thanks for creating this issue! I wonder if we could just include the pyWin32 library in the installer?
|msg4379||Author: [hidden] (cscortes)||Date: 2011-08-16 15:31|
I don't know. I guess I would make a distinction between needing pywin for the installer and needing it for roundup. If the installer needs it then yes it could be included, but I think that roundup needs it. The problem is that there is a different pywin32 library for every version of python (2.5,2.6,2.7,...) so it is easier just to throw an error and ask the user to figure out which version he needs to install for his python setup.
|msg4382||Author: [hidden] (ber)||Date: 2011-08-16 18:53|
Ah, you are right of course, that we cannot know the python binary unless we also include python itself. ;) I wonder what roundup would use pywin, though.
|msg5817||Author: [hidden] (rouilj)||Date: 2016-07-10 18:47|
The pyWin32 dependency was removed in 1.5.0 for most uses except running roundup as a windows service. I think it was used for portalocker. From CHANGES.txt: - pywin32 is no longer required to run on Windows (anatoly techtonik) - Rewritten portalocker.py logic in ctypes for Windows (anatoly techtonik) I think this issue is a partial replacement for: issue2550718
|msg6042||Author: [hidden] (rouilj)||Date: 2017-10-21 04:06|
I installed python 2.7.14 on windows 10. Modified setup.py adding: scripts.append('scripts/windows_install_script.py') after the definition of the script variable. Then ran: python setup.py bdist_wininst --user-access-control force --install- script windows_install_script.py with the contents of scripts/window_install_script.py: ==== from __future__ import print_function import sys # Log output to a file (for test) f = open(r"C:\temp\test.txt",'w') print('Creating Shortcut', file=f) f.close() if sys.platform == 'win32': try: sys.stdout.write("write to sys.stdout\n") sys.stderr.write("write to sys.stderr\n") print ("Checking for pywin32") import win32serviceutil print ("Found win32serviceutil") import win32service print ("Found win32service") print ("Complete.") except: print (""" If you want to run roundup as a windows service you have to install the pywin32 module from: https://sourceforge.net/projects/pywin32/ Otherwise you can run the roundup-server manually or use demo mode. """) print ("Install complete") ==== This created an installer, but when run the installer doesn't seem to run the python script. Note the script above tries a few ways to write output. No output ever showed up so I tried a few ways to write to the user. Then I added the code to write to a file. The lack of a file in c:\temp tells me that the script isn't being run. No clue what the issue is but recording this here in case somebody else has a bright idea on telling the user to install the pywin32 module if it's not found.
|2017-10-21 04:06:34||rouilj||set||messages: + msg6042|
+ techtonik, rouilj|
messages: + msg5817
|2011-08-16 18:53:48||ber||set||messages: + msg4382|
|2011-08-16 15:31:31||cscortes||set||messages: + msg4379|
messages: + msg4377