Help with CVS ZEO2 Client, Server on same Win32 machine
I checked out the ZEO CVS today (ZEO2), The ZopeReadme is very clear and focused. However, I am having trouble locating the point of failure on my Windows XP setup. I think the clients and server are running, but I can't access objects through the browser. 0) I have Python 2.2 installed at C:\Program Files\Zope for non-Zope use. It is the default if you just type 'python' at a command prompt. 1) Zope 2.5.1 is installed in C:\Program Files\Zope (as C:\Progra~1\Zope) 1a) Zope's Python 2.1.3 (#35) is at C:\Progra~1\Zope\bin\python.exe 1b) I have Pythonwin for 2.1 installed on Zope's python, use it for the browser, and hopefully soon with ZEO. I also have PyXML, reportlab and PIL in there. 1c) Zope runs as a service, shut down before any of the following steps. 2) ZEO is at C:\Progra~1\Zope\lib\python\ZEO (i.e. start.py is there) 3) C:\Progra~1\Zope\custom_zodb.py contains these lines: from ZEO.ClientStorage import ClientStorage Storage = ClientStorage(('', 8800)) (the one in the ZEO misc directory didn't seem to specify the port, I don't know if it defaults to 8800, so I used this one from the ZopeReadme) 4) I open a command prompt and type: C:\Program Files\Zope>bin\python.exe lib/python/ZEO/start.py -p 8800 (there is no display of status, but I don't get the cursor back. Is it running?) 5) I open another command prompt and type: C:\Program Files\Zope>bin\python.exe lib/python/ZEO/start.py -p 8800 I get a Win32 error/stop dialog with the following error. "This application has failed to start because tk83.dll was not found. Re-installing the application may fix this problem." (This happens whenever I have run z2 from the command line (non service), and it doesn't seem to have any other adverse affects. I don't know if this is known behavior) (there is no display of status as in normal Z2 debug mode, but I don't get the cursor back. Is it running?) 6) In a browser, the ZMI doesn't respond: http://localhost:8080/manage FWIW, I have also tried step 5 as: C:\Program Files\Zope>bin\python.exe lib/python/ZEO/start.py and "net start zope" but with no result. Can anyone spot the source of my mistake? Thanks, I'm looking forward to ZEO in a big way.
Jeff Kowalczyk wrote:
1c) Zope runs as a service, shut down before any of the following steps.
Ouch. Don't do this unless you _really_ have to. Running as a service sucks in so many special ways :-S
4) I open a command prompt and type: C:\Program Files\Zope>bin\python.exe lib/python/ZEO/start.py -p 8800 (there is no display of status, but I don't get the cursor back. Is it running?)
Probably. Set a STUPID_LOG_FILE at check what ends up in there. You should get some messages saying that ZEO is serving a storage on a port.
5) I open another command prompt and type: C:\Program Files\Zope>bin\python.exe lib/python/ZEO/start.py -p 8800 I get a Win32 error/stop dialog with the following error. "This application has failed to start because tk83.dll was not found. Re-installing the application may fix this problem."
Uninstall Pythonwin for bnow and see if this goes away. Also, try the following as it has the correct slashes: C:\Program Files\Zope>bin\python.exe lib\python\ZEO\start.py -p 8800 BTW, why are you trying to start two storage servers? You want one storage server and one or more clients...
6) In a browser, the ZMI doesn't respond: http://localhost:8080/manage
Funny that ;-) cheers, Chris PS: Where did you put your custom_zodb.yp file? PPS: Look at using INSTANCE_HOME's, the fact that you're not may be what's fouling you up...
"This application has failed to start because tk83.dll was not found. Re-installing the application may fix this problem." Uninstall Pythonwin for now and see if this goes away.
I'm pretty sure you're right that it is pythonwin, but since it doesn't seem to stop zope from starting, I can leave it in for the moment. That Pythonwin object browser is worth the ugliness of a lone Win32 error box.
Also, try the following as it has the correct slashes: C:\Program Files\Zope>bin\python.exe lib\python\ZEO\start.py -p 8800
Doh! I had spotted wrong slashes, but only corrected it on one of the two command lines, and probably was that close to getting it working but missed. Thanks for pointing it out. This is working now: C:\Program Files\Zope>bin\python lib\python\ZEO\start.py -p 8800 C:\Program Files\Zope>bin\python z2.py C:\Program Files\Zope>custom_zodb.py contains: from ZEO.ClientStorage import ClientStorage Storage = ClientStorage(('localhost', 8800)) (if I use '' instead of 'localhost', it doesn't work, BTW. The ZopeReadme should perhaps reflect that if it is generally true on win32.) (Control Panel Results) Zope Version (Zope 2.5.1 (binary release, python 2.1, win32-x86), python 2.1.3, win32) Python Version 2.1.3 (#35, Apr 8 2002, 17:47:50) [MSC 32 bit (Intel)] System Platform win32 SOFTWARE_HOME C:\Program Files\Zope\lib\python INSTANCE_HOME C:\Program Files\Zope CLIENT_HOME C:\Program Files\Zope\var Database Location ('localhost', 8800) (XXX) Database Size 4.9M I can use the ZMI, and I can also startup pythonwin against zope's python and 'import Zope', so I think its all working. I think can see your point, when I had z2.py -p 8800 was I starting a 'second' storage? It seems that just starting z2.py with no parameters will find and use a custom_zodb to find the storage server correctly. Is that the right way to look at it?
PPS: Look at using INSTANCE_HOME's, the fact that you're not may be what's fouling you up...
Do I still need to use INSTANCE_HOME's for some reason, or would I just end up at the same configuration I have working here? Thanks again.
Jeff Kowalczyk wrote:
PPS: Look at using INSTANCE_HOME's, the fact that you're not may be what's fouling you up...
Do I still need to use INSTANCE_HOME's for some reason, or would I just end up at the same configuration I have working here?
I just find that INSTANCE_HOMES generally make life easier ;-) cheers, Chris
participants (2)
-
Chris Withers -
Jeff Kowalczyk